From 3f1206abc11816353f198390520b6786f5908b7d Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 6 Oct 2025 12:28:27 -0300 Subject: [PATCH 01/20] Update Test.yml --- .github/workflows/Test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index c54588de..fbe12588 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -150,7 +150,7 @@ jobs: uses: julia-actions/julia-runtest@v1 if: runner.os != 'Windows' with: - test_args: '--quickfail --platform=pocl' + test_args: '--quickfail --platform=pocl --verbose' - name: Setup BusyBox if: runner.os == 'Windows' From e7ac4e32e6eabeecca3d417c724620e083d92f37 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 6 Oct 2025 18:31:54 -0300 Subject: [PATCH 02/20] Maybe it's a ram issue --- .github/workflows/Test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index fbe12588..f5dbdd11 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -150,7 +150,7 @@ jobs: uses: julia-actions/julia-runtest@v1 if: runner.os != 'Windows' with: - test_args: '--quickfail --platform=pocl --verbose' + test_args: '--quickfail --platform=pocl --verbose --jobs=2' - name: Setup BusyBox if: runner.os == 'Windows' From 0cc559db836ed9cadc7a0a13a8ed7b197f6cde23 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 6 Oct 2025 18:30:06 -0300 Subject: [PATCH 03/20] Maybe it's a virtualization issue --- .buildkite/pipeline.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 02476bb5..bbd4e885 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -21,3 +21,40 @@ steps: env: OCL_ICD_FILENAMES: "libnvidia-opencl.so.1" timeout_in_minutes: 60 + + - group: "macos" + key: "julia" + steps: + - label: "{{matrix.julia}} macos {{matrix.arch}}" + plugins: + - JuliaCI/julia#v1: + version: {{matrix.julia}} + - JuliaCI/julia-coverage#v1: + codecov: true + commands: | + julia --project -e ' + using Pkg + + println("--- :julia: Instantiating project") + Pkg.add("pocl_jll") + Pkg.add("InteractiveUtils") + Pkg.develop(path="lib/intrinsics") + + println("+++ :julia: Running tests") + using InteractiveUtils + InteractiveUtils.versioninfo() + Pkg.test(; coverage=true, test_args=`--platform=pocl --verbose --jobs=2`)' + agents: + queue: "juliaecosystem" + os: "macos" + arch: {{matrix.arch}} + if: build.message !~ /\[skip tests\]/ + timeout_in_minutes: 120 + matrix: + setup: + julia: + - "1.10" + - "1.12" + arch: + - "x86_64" + - "aarch64" From ee41a95f79b1581a56a0e7de03d484566684fdf1 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 23 Oct 2025 13:01:58 -0300 Subject: [PATCH 04/20] Fewer tests --- .github/workflows/Test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index f5dbdd11..b57085ab 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -23,9 +23,9 @@ jobs: fail-fast: false matrix: version: ['1.10', '1.12'] - os: [ubuntu-24.04, ubuntu-24.04-arm, macOS-15, macOS-15-intel, windows-2025] + os: [ubuntu-24.04-arm, macOS-15, macOS-15-intel, windows-2025] arch: [x64, arm64] - pocl: [jll, local] + pocl: [jll] memory_backend: [usm, svm, buffer] exclude: # unsupported combinations From e2c0572f7460d3111be29712bb634a565a325ecd Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 23 Oct 2025 13:23:03 -0300 Subject: [PATCH 05/20] fdsg --- .buildkite/pipeline.yml | 62 ++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index bbd4e885..9d2066c2 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -25,36 +25,36 @@ steps: - group: "macos" key: "julia" steps: - - label: "{{matrix.julia}} macos {{matrix.arch}}" - plugins: - - JuliaCI/julia#v1: - version: {{matrix.julia}} - - JuliaCI/julia-coverage#v1: - codecov: true - commands: | - julia --project -e ' - using Pkg + - label: "{{matrix.julia}} macos {{matrix.arch}}" + plugins: + - JuliaCI/julia#v1: + version: {{matrix.julia}} + - JuliaCI/julia-coverage#v1: + codecov: true + commands: | + julia --project -e ' + using Pkg - println("--- :julia: Instantiating project") - Pkg.add("pocl_jll") - Pkg.add("InteractiveUtils") - Pkg.develop(path="lib/intrinsics") + println("--- :julia: Instantiating project") + Pkg.add("pocl_jll") + Pkg.add("InteractiveUtils") + Pkg.develop(path="lib/intrinsics") - println("+++ :julia: Running tests") - using InteractiveUtils - InteractiveUtils.versioninfo() - Pkg.test(; coverage=true, test_args=`--platform=pocl --verbose --jobs=2`)' - agents: - queue: "juliaecosystem" - os: "macos" - arch: {{matrix.arch}} - if: build.message !~ /\[skip tests\]/ - timeout_in_minutes: 120 - matrix: - setup: - julia: - - "1.10" - - "1.12" - arch: - - "x86_64" - - "aarch64" + println("+++ :julia: Running tests") + using InteractiveUtils + InteractiveUtils.versioninfo() + Pkg.test(; coverage=true, test_args=`--platform=pocl --verbose --jobs=2`)' + agents: + queue: "juliaecosystem" + os: "macos" + arch: {{matrix.arch}} + if: build.message !~ /\[skip tests\]/ + timeout_in_minutes: 120 + matrix: + setup: + julia: + - "1.10" + - "1.12" + arch: + - "x86_64" + - "aarch64" From 1c07c9f9c729d7407c0843ae6096e19acb46ddec Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 23 Oct 2025 13:24:08 -0300 Subject: [PATCH 06/20] jg --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 9d2066c2..755c5324 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -28,7 +28,7 @@ steps: - label: "{{matrix.julia}} macos {{matrix.arch}}" plugins: - JuliaCI/julia#v1: - version: {{matrix.julia}} + version: "{{matrix.julia}}" - JuliaCI/julia-coverage#v1: codecov: true commands: | From 9e633c7b4ce3b32c58dda2b998de41c1488fd93b Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 23 Oct 2025 13:24:58 -0300 Subject: [PATCH 07/20] yifri --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 755c5324..47123461 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -47,7 +47,7 @@ steps: agents: queue: "juliaecosystem" os: "macos" - arch: {{matrix.arch}} + arch: "{{matrix.arch}}" if: build.message !~ /\[skip tests\]/ timeout_in_minutes: 120 matrix: From 9dd7c4669a134e67993a5dcf7ac9c16e8a17bc2c Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Fri, 31 Oct 2025 15:05:47 -0300 Subject: [PATCH 08/20] Test --- .github/workflows/Test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index b57085ab..d68d4ac7 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -151,6 +151,8 @@ jobs: if: runner.os != 'Windows' with: test_args: '--quickfail --platform=pocl --verbose --jobs=2' + env: + POCL_WORK_GROUP_METHOD: cbs - name: Setup BusyBox if: runner.os == 'Windows' From 1d43aeff57d1a9aa5c6bac5d9166f86a9890cb37 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Fri, 31 Oct 2025 17:03:59 -0300 Subject: [PATCH 09/20] jutcdf --- test/runtests.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/runtests.jl b/test/runtests.jl index 6fd437f2..59210b4d 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -46,7 +46,9 @@ do_verbose, _ = extract_flag!(ARGS, "--verbose") do_quickfail, _ = extract_flag!(ARGS, "--quickfail") include("setup.jl") # make sure everything is precompiled + @info "System information:\n" * sprint(io->OpenCL.versioninfo(io)) +@info read(`launchctl limit maxfiles`, String) @info "Running $jobs tests in parallel. If this is too many, specify the `--jobs` argument to the tests, or set the JULIA_CPU_THREADS environment variable." From c1afae49e060226f46bd5dc0b51dfea2e027c117 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Fri, 31 Oct 2025 17:06:17 -0300 Subject: [PATCH 10/20] htydc --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index 59210b4d..1d71bd83 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -48,7 +48,7 @@ do_quickfail, _ = extract_flag!(ARGS, "--quickfail") include("setup.jl") # make sure everything is precompiled @info "System information:\n" * sprint(io->OpenCL.versioninfo(io)) -@info read(`launchctl limit maxfiles`, String) +Sys.isapple() && @info read(`launchctl limit maxfiles`, String) @info "Running $jobs tests in parallel. If this is too many, specify the `--jobs` argument to the tests, or set the JULIA_CPU_THREADS environment variable." From 751802a101f07d9e49e286fd52f3d6eaccd4c63b Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Sat, 1 Nov 2025 20:09:43 -0300 Subject: [PATCH 11/20] tfeag --- test/runtests.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/runtests.jl b/test/runtests.jl index 1d71bd83..3e4f69b0 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -49,6 +49,7 @@ include("setup.jl") # make sure everything is precompiled @info "System information:\n" * sprint(io->OpenCL.versioninfo(io)) Sys.isapple() && @info read(`launchctl limit maxfiles`, String) +Sys.isapple() && @info read(`ulimit -a`, String) @info "Running $jobs tests in parallel. If this is too many, specify the `--jobs` argument to the tests, or set the JULIA_CPU_THREADS environment variable." From 4a954d5b85584268452140718cc54fac5f60fbfb Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Sat, 1 Nov 2025 20:18:07 -0300 Subject: [PATCH 12/20] netnhrs --- test/runtests.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/runtests.jl b/test/runtests.jl index 3e4f69b0..2402b123 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -50,6 +50,7 @@ include("setup.jl") # make sure everything is precompiled @info "System information:\n" * sprint(io->OpenCL.versioninfo(io)) Sys.isapple() && @info read(`launchctl limit maxfiles`, String) Sys.isapple() && @info read(`ulimit -a`, String) +Sys.isapple() && @info read(`df -h`, String) @info "Running $jobs tests in parallel. If this is too many, specify the `--jobs` argument to the tests, or set the JULIA_CPU_THREADS environment variable." From e22143d64f3d2fae48ef63dfb452edeeb7bf9b5b Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Sat, 1 Nov 2025 20:31:39 -0300 Subject: [PATCH 13/20] uyf --- test/runtests.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/runtests.jl b/test/runtests.jl index 2402b123..a4aba831 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -51,6 +51,7 @@ include("setup.jl") # make sure everything is precompiled Sys.isapple() && @info read(`launchctl limit maxfiles`, String) Sys.isapple() && @info read(`ulimit -a`, String) Sys.isapple() && @info read(`df -h`, String) +Sys.isapple() && @info read(`vm_stat`, String) @info "Running $jobs tests in parallel. If this is too many, specify the `--jobs` argument to the tests, or set the JULIA_CPU_THREADS environment variable." From 744617398cced61d95623476c83364b00e976104 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Sat, 1 Nov 2025 21:46:09 -0300 Subject: [PATCH 14/20] 8y7g8 --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index a4aba831..17f848ac 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -50,7 +50,7 @@ include("setup.jl") # make sure everything is precompiled @info "System information:\n" * sprint(io->OpenCL.versioninfo(io)) Sys.isapple() && @info read(`launchctl limit maxfiles`, String) Sys.isapple() && @info read(`ulimit -a`, String) -Sys.isapple() && @info read(`df -h`, String) +Sys.isapple() && @info read(`df -YIh`, String) Sys.isapple() && @info read(`vm_stat`, String) @info "Running $jobs tests in parallel. If this is too many, specify the `--jobs` argument to the tests, or set the JULIA_CPU_THREADS environment variable." From 2ea5b407290fa0dd168d50f9c9a2f5f8fdf73a9b Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Sat, 1 Nov 2025 22:03:07 -0300 Subject: [PATCH 15/20] hyrxdjutdyr --- test/intrinsics.jl | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test/intrinsics.jl b/test/intrinsics.jl index ad970c05..6a5aa724 100644 --- a/test/intrinsics.jl +++ b/test/intrinsics.jl @@ -15,7 +15,7 @@ const ispocl = cl.platform().name == "Portable Computing Language" @testset "intrinsics" begin @testset "barrier" begin - +@warn "Barrier" @on_device barrier(OpenCL.LOCAL_MEM_FENCE) @on_device barrier(OpenCL.GLOBAL_MEM_FENCE) @on_device barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.GLOBAL_MEM_FENCE) @@ -37,6 +37,7 @@ cl.memory_backend() isa cl.SVMBackend && @on_device work_group_barrier(OpenCL.LO end @testset "mem_fence" begin +@warn "mem_fence" @on_device mem_fence(OpenCL.LOCAL_MEM_FENCE) @on_device mem_fence(OpenCL.GLOBAL_MEM_FENCE) @@ -53,6 +54,7 @@ end end @testset "atomic_work_item_fence" begin +@warn "atomic_work_item_fence" @on_device atomic_work_item_fence(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_order_relaxed, OpenCL.memory_scope_work_item) @on_device atomic_work_item_fence(OpenCL.GLOBAL_MEM_FENCE, OpenCL.memory_order_acquire, OpenCL.memory_scope_work_group) @@ -64,6 +66,7 @@ cl.memory_backend() isa cl.SVMBackend && @on_device atomic_work_item_fence(OpenC end @testset "math" begin +@warn "math" @testset "unary - $T" for T in float_types @testset "$f" for f in [ @@ -101,6 +104,7 @@ end hypot, (^), ] + @warn "binary - $T, $f" x = rand(T) y = rand(T) broken = ispocl && T == Float16 && f == atan @@ -112,6 +116,7 @@ end @testset "$f" for f in [ fma, ] + @warn "ternary - $T, $f" x = rand(T) y = rand(T) z = rand(T) @@ -128,6 +133,8 @@ end OpenCL.rint, OpenCL.rsqrt, ] + @warn "OpenCL-specific unary - $T, $f" + x = rand(T) broken = ispocl && T == Float16 && !(f in [OpenCL.rint, OpenCL.rsqrt]) @test call_on_device(f, x) isa Real broken = broken # Just check it doesn't error @@ -146,6 +153,8 @@ end OpenCL.nextafter, OpenCL.powr, ] + @warn "OpenCL-specific binary - $T, $f" + x = rand(T) y = rand(T) broken = ispocl && T == Float16 && !(f in [OpenCL.maxmag, OpenCL.minmag]) @@ -159,6 +168,8 @@ end x = rand(T) y = rand(T) z = rand(T) + @warn "OpenCL-specific ternary - $T, $f" + @test call_on_device(OpenCL.mad, x, y, z) ≈ x * y + z end From e94c382352d8b6c3684bc416f3bd4fe59d522624 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Sat, 1 Nov 2025 22:34:09 -0300 Subject: [PATCH 16/20] faevv --- test/intrinsics.jl | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/test/intrinsics.jl b/test/intrinsics.jl index 6a5aa724..02719b3e 100644 --- a/test/intrinsics.jl +++ b/test/intrinsics.jl @@ -15,23 +15,38 @@ const ispocl = cl.platform().name == "Portable Computing Language" @testset "intrinsics" begin @testset "barrier" begin -@warn "Barrier" +@warn "Barrier Local Mem fence" @on_device barrier(OpenCL.LOCAL_MEM_FENCE) +@warn "Barrier global Mem fence" @on_device barrier(OpenCL.GLOBAL_MEM_FENCE) +@warn "Barrier both Mem fence" @on_device barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.GLOBAL_MEM_FENCE) +@warn "WorkGroup Barrier Local Mem fence" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE) +@warn "WorkGroup Barrier global Mem fence" @on_device work_group_barrier(OpenCL.GLOBAL_MEM_FENCE) +@warn "WorkGroup Barrier image Mem fence" @on_device work_group_barrier(OpenCL.IMAGE_MEM_FENCE) +@warn "Barrier" +@warn "WorkGroup Barrier L/G Mem fence" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.GLOBAL_MEM_FENCE) +@warn "WorkGroup Barrier L/I Mem fence" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.IMAGE_MEM_FENCE) +@warn "WorkGroup Barrier L/G/I Mem fence" @on_device work_group_barrier(OpenCL.GLOBAL_MEM_FENCE | OpenCL.LOCAL_MEM_FENCE | OpenCL.IMAGE_MEM_FENCE) +@warn "Barrier" +@warn "WorkGroup Barrier Local Mem fence, work item scope" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_work_item) +@warn "WorkGroup Barrier Local Mem fence, workgroup scope" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_work_group) +@warn "WorkGroup Barrier Local Mem fence, device scope" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_device) +@warn "Skipped" cl.memory_backend() isa cl.SVMBackend && @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_all_svm_devices) +@warn "WorkGroup Barrier Local Mem fence, subgroup scope" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_sub_group) end @@ -168,7 +183,7 @@ end x = rand(T) y = rand(T) z = rand(T) - @warn "OpenCL-specific ternary - $T, $f" + @warn "OpenCL-specific ternary - $T" @test call_on_device(OpenCL.mad, x, y, z) ≈ x * y + z end From 9d20bc0b6d4d3aaf93486d8691511ac23f46692d Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Sat, 1 Nov 2025 22:46:04 -0300 Subject: [PATCH 17/20] utf --- test/intrinsics.jl | 50 ++++++++++++++++------------------------------ 1 file changed, 17 insertions(+), 33 deletions(-) diff --git a/test/intrinsics.jl b/test/intrinsics.jl index 02719b3e..c2494d05 100644 --- a/test/intrinsics.jl +++ b/test/intrinsics.jl @@ -15,39 +15,23 @@ const ispocl = cl.platform().name == "Portable Computing Language" @testset "intrinsics" begin @testset "barrier" begin -@warn "Barrier Local Mem fence" -@on_device barrier(OpenCL.LOCAL_MEM_FENCE) -@warn "Barrier global Mem fence" -@on_device barrier(OpenCL.GLOBAL_MEM_FENCE) -@warn "Barrier both Mem fence" -@on_device barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.GLOBAL_MEM_FENCE) - -@warn "WorkGroup Barrier Local Mem fence" -@on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE) -@warn "WorkGroup Barrier global Mem fence" -@on_device work_group_barrier(OpenCL.GLOBAL_MEM_FENCE) -@warn "WorkGroup Barrier image Mem fence" -@on_device work_group_barrier(OpenCL.IMAGE_MEM_FENCE) - -@warn "Barrier" -@warn "WorkGroup Barrier L/G Mem fence" -@on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.GLOBAL_MEM_FENCE) -@warn "WorkGroup Barrier L/I Mem fence" -@on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.IMAGE_MEM_FENCE) -@warn "WorkGroup Barrier L/G/I Mem fence" -@on_device work_group_barrier(OpenCL.GLOBAL_MEM_FENCE | OpenCL.LOCAL_MEM_FENCE | OpenCL.IMAGE_MEM_FENCE) - -@warn "Barrier" -@warn "WorkGroup Barrier Local Mem fence, work item scope" -@on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_work_item) -@warn "WorkGroup Barrier Local Mem fence, workgroup scope" -@on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_work_group) -@warn "WorkGroup Barrier Local Mem fence, device scope" -@on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_device) -@warn "Skipped" -cl.memory_backend() isa cl.SVMBackend && @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_all_svm_devices) -@warn "WorkGroup Barrier Local Mem fence, subgroup scope" -@on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_sub_group) +@time "Barrier Local Mem fence" @on_device barrier(OpenCL.LOCAL_MEM_FENCE) +@time "Barrier global Mem fence" @on_device barrier(OpenCL.GLOBAL_MEM_FENCE) +@time "Barrier both Mem fence" @on_device barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.GLOBAL_MEM_FENCE) + +@time "WorkGroup Barrier Local Mem fence" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE) +@time "WorkGroup Barrier global Mem fence" @on_device work_group_barrier(OpenCL.GLOBAL_MEM_FENCE) +@time "WorkGroup Barrier image Mem fence" @on_device work_group_barrier(OpenCL.IMAGE_MEM_FENCE) + +@time "WorkGroup Barrier L/G Mem fence" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.GLOBAL_MEM_FENCE) +@time "WorkGroup Barrier L/I Mem fence" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE | OpenCL.IMAGE_MEM_FENCE) +@time "WorkGroup Barrier L/G/I Mem fence" @on_device work_group_barrier(OpenCL.GLOBAL_MEM_FENCE | OpenCL.LOCAL_MEM_FENCE | OpenCL.IMAGE_MEM_FENCE) + +@time "WorkGroup Barrier Local Mem fence, work item scope" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_work_item) +@time "WorkGroup Barrier Local Mem fence, workgroup scope" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_work_group) +@time "WorkGroup Barrier Local Mem fence, device scope" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_device) +@time "Skipped" cl.memory_backend() isa cl.SVMBackend && @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_all_svm_devices) +@time "WorkGroup Barrier Local Mem fence, subgroup scope" @on_device work_group_barrier(OpenCL.LOCAL_MEM_FENCE, OpenCL.memory_scope_sub_group) end From dcc7f0319c58a2e82e235ee8b928de23401676cd Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 3 Nov 2025 14:11:32 -0400 Subject: [PATCH 18/20] POCL 7.0 --- test/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Project.toml b/test/Project.toml index a44cae6b..6205c3a1 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -23,4 +23,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" pocl_jll = "627d6b7a-bbe6-5189-83e7-98cc0a5aeadd" [compat] -pocl_jll = "7.0" +pocl_jll = "~7.0" From 8b891b54dc2d8a8e111d4d460556ef95fbee8ec3 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 3 Nov 2025 14:53:29 -0400 Subject: [PATCH 19/20] uiygf --- test/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Project.toml b/test/Project.toml index 6205c3a1..a44cae6b 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -23,4 +23,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" pocl_jll = "627d6b7a-bbe6-5189-83e7-98cc0a5aeadd" [compat] -pocl_jll = "~7.0" +pocl_jll = "7.0" From 0cd46eb8e3f28516d49c6f7547c0afdd9487d9ee Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 3 Nov 2025 15:31:29 -0400 Subject: [PATCH 20/20] Windows --- .github/workflows/Test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index d68d4ac7..d95b2c40 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -23,7 +23,7 @@ jobs: fail-fast: false matrix: version: ['1.10', '1.12'] - os: [ubuntu-24.04-arm, macOS-15, macOS-15-intel, windows-2025] + os: [ubuntu-24.04-arm, macOS-15, macOS-15-intel, windows-2022] arch: [x64, arm64] pocl: [jll] memory_backend: [usm, svm, buffer] @@ -31,7 +31,7 @@ jobs: # unsupported combinations - os: ubuntu-24.04 arch: arm64 - - os: windows-2025 + - os: windows-2022 arch: arm64 - os: ubuntu-24.04-arm arch: x64 @@ -45,7 +45,7 @@ jobs: pocl: local - os: macOS-15 pocl: local - - os: windows-2025 + - os: windows-2022 pocl: local # Remove these exclusions once macOS CI hangs are fixed - os: macOS-15-intel