Skip to content

Switch POCL backend to CompilerCaching.jl#728

Draft
vchuravy wants to merge 1 commit into
mainfrom
vc/compilercaching
Draft

Switch POCL backend to CompilerCaching.jl#728
vchuravy wants to merge 1 commit into
mainfrom
vc/compilercaching

Conversation

@vchuravy

Copy link
Copy Markdown
Member

Adopts the new GPUCompiler 2.0 caching API for the POCL backend, x-ref JuliaGPU/GPUCompiler.jl#794, following the same approach as JuliaGPU/OpenCL.jl#431:

  • Compilation artifacts (SPIR-V bytes, entry name, device_rng flag) now live in an OpenCLResults struct managed by GPUCompiler.cached_results, i.e. attached to the CodeInstance in Julia's integrated code cache on 1.11+ (persisting through precompilation) instead of the legacy per-context cached_compilation dictionaries.
  • Linked cl.Kernel handles are session-local and kept in a small per-context linear cache on the results struct; they are not populated while precompiling, so no dangling handles end up in package images.
  • GPUCompiler.reset_runtime() is gone (the runtime library is cached through the same mechanism now).
  • Adds a compilation-cache regression test mirroring the one from the OpenCL.jl PR.

The [sources] entry pins GPUCompiler to the tb/compilercaching branch until GPUCompiler 2.0 is released; draft until then.

🤖 Generated with Claude Code

Adopts the GPUCompiler 2.0 caching API (JuliaGPU/GPUCompiler.jl#794):
compilation results are stored via `GPUCompiler.cached_results` on the
CodeInstance (Julia's integrated code cache on 1.11+, persisting through
precompilation) instead of the legacy per-context `cached_compilation`
dictionaries. Follows the same approach as JuliaGPU/OpenCL.jl#431.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant