Conversation
Julia miscompiles code placed inside an `aliasscope` (JuliaLang/julia#63129), so on 1.11 and later `@kernel` no longer emits the `aliasscope` / `popaliasscope` markers for kernels that use `@Const` arguments. `@Const` arguments are still wrapped in `Base.Experimental.Const`, they just no longer participate in alias-scope based optimizations. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Be2cuG5qj1BfmHFnsKADNZ
Benchmark Results
Benchmark PlotsA plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## release-0.9 #776 +/- ##
===============================================
- Coverage 79.38% 73.68% -5.70%
===============================================
Files 14 14
Lines 907 988 +81
===============================================
+ Hits 720 728 +8
- Misses 187 260 +73 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Potentially fixed upstream by JuliaLang/julia#63130, but this PR should help for v1.11-1.13 if the upstream fix isn't backported. |
|
Non-lts releases that aren’t current typically don’t get releases. That convention was broken for 1.11 a few times but I wouldn’t expect it |
The CPU Const test checked for !alias.scope and !noalias on every Julia version. On 1.11 and later KernelAbstractions no longer emits aliasscope markers, so gate the checks on EMIT_ALIASSCOPE. Assisted-by: Claude Code (Opus 5.5)
Julia miscompiles code placed inside an
aliasscope, see JuliaLang/julia#63129 (and our earlier report in #652). We already restricted the markers to kernels with@Constarguments; this disables them entirely on 1.11 and later.@Constarguments are still wrapped inBase.Experimental.Const(so back-ends that specialize on it, e.g. for__ldg, are unaffected) — they just no longer participate in alias-scope based optimizations on affected versions.Tested locally on 1.12.7: the
@kernelexpansion of a kernel with a@Constargument no longer containsaliasscope, and the CPU test suite passes (the Enzyme extension tests error only because Enzyme isn't installed in my local test env).Note: this does not bump the version in
Project.toml.🤖 Generated with Claude Code
https://claude.ai/code/session_01Be2cuG5qj1BfmHFnsKADNZ