Skip to content

[release-0.4] Backports for 0.4.4 - #147

Merged
maleadt merged 5 commits into
release-0.4from
tb/unsafeatomics-0.4-backport
Oct 6, 2026
Merged

maleadt merged 5 commits into
release-0.4from
tb/unsafeatomics-0.4-backport

Conversation

@maleadt

@maleadt maleadt commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Backports for a 0.4.4 release.

UnsafeAtomics 0.4 is out, and Atomix 1.3 and the GPU back-ends (starting with AMDGPU.jl) move to it. Every AcceleratedKernels release since 0.4.3 caps UnsafeAtomics at 0.3, so environments that need 0.4 either fail to resolve or fall back to AcceleratedKernels 0.4.2. AcceleratedKernels only uses UnsafeAtomics' load, store! and fence, which 0.4 keeps, so this widens the bound to 0.3, 0.4, as #146 does for 0.5.1. The scan's fences use the default scope, which is still system in 0.4. AMDGPU.jl currently allows AcceleratedKernels 0.3.1 and 0.4, which is why the 0.4 series needs this too.

The branch was cut from v0.4.3, so CI needed fixes before it could run:

  • Fix intel macos ci #72: macOS-13 runners are gone, use macOS-15-intel;
  • Update Buildkite pipeline for the new JuliaGPU cluster #85: the Buildkite pipeline uploads to the old juliagpu queue, which no longer exists;
  • the OpenCL tests added OpenCL.jl from its master branch, which is gone. Using the registered version exposed another problem: the tests installed the back-end after loading AcceleratedKernels, and OpenCL still requires UnsafeAtomics 0.3, so the session ended up with mismatched packages. The back-end is now installed before anything is loaded.

Tested with UnsafeAtomics 0.4.0 and Atomix 1.3.0: the CPU and OpenCL (PoCL) test suites pass on Julia 1.13, and so do AMDGPU.jl's sorting and array tests on a gfx1036 GPU, with AMDGPU.jl ported to UnsafeAtomics 0.4.

@maleadt maleadt mentioned this pull request Oct 5, 2026
christiangnrd and others added 5 commits October 6, 2026 07:13
(cherry picked from commit e641c28)
* Update Buildkite pipeline for the new JuliaGPU cluster.

Switch to the per-backend queues of the new JuliaGPU cluster.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Move the Metal job(s) to the new metal queue.

The JuliaGPU cluster now has a macOS agent with an Apple Silicon GPU,
so Metal jobs no longer need a separate pipeline on the ecosystem
cluster.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit a76bf7b)
The back-end can need different versions of AcceleratedKernels'
dependencies, e.g. OpenCL still requires UnsafeAtomics 0.3. Adding it
after those were loaded left the session with mismatched packages.
Also use the registered OpenCL.jl, as its master branch is gone.
AcceleratedKernels only uses its loads, stores and fences, which 0.4 keeps.
@maleadt
maleadt force-pushed the tb/unsafeatomics-0.4-backport branch from 08abd48 to 03ce906 Compare October 6, 2026 05:16
@maleadt maleadt changed the title [release-0.4] Allow UnsafeAtomics 0.4 [release-0.4] Backports for 0.4.4 Oct 6, 2026
@maleadt
maleadt merged commit df8d4d4 into release-0.4 Oct 6, 2026
38 of 39 checks passed
@maleadt
maleadt deleted the tb/unsafeatomics-0.4-backport branch October 6, 2026 06:34
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.

2 participants