From 3bc3449a3fccfbc611838872cb29662275af747a Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 20 Nov 2025 16:39:37 -0400 Subject: [PATCH 1/8] Switch to `windows-2022` in CI until `windows-2025` is fixed --- .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 c54588de..980d45fe 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, ubuntu-24.04-arm, macOS-15, macOS-15-intel, windows-2025] + os: [ubuntu-24.04, ubuntu-24.04-arm, macOS-15, macOS-15-intel, windows-2022] arch: [x64, arm64] pocl: [jll, local] 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 From 538bb2f04ded22737e47fd46a2088cf55ca7355c Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 27 Nov 2025 13:53:48 -0400 Subject: [PATCH 2/8] Disable some vectorization tests on windows --- test/intrinsics.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/intrinsics.jl b/test/intrinsics.jl index 69150e5e..ebbf3aea 100644 --- a/test/intrinsics.jl +++ b/test/intrinsics.jl @@ -13,7 +13,8 @@ end const float_types = filter(x -> x <: Base.IEEEFloat, GPUArraysTestSuite.supported_eltypes(CLArray)) const ispocl = cl.platform().name == "Portable Computing Language" -const simd_ns = [2, 3, 4, 8, 16] +# XXX: Why does pocl on windows not support vectors of size 2, 8, 16? +const simd_ns = (Sys.iswindows() && ispocl) ? [3, 4] : [2, 3, 4, 8, 16] @testset "intrinsics" begin From 97ac8c116ff07f2e75d8af901d4a2f0ad0a97132 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Fri, 28 Nov 2025 13:40:24 -0400 Subject: [PATCH 3/8] [Temp] use split up tests --- test/Project.toml | 1 + test/runtests.jl | 3 +++ 2 files changed, 4 insertions(+) diff --git a/test/Project.toml b/test/Project.toml index 57ae7ff9..0f85866e 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -8,6 +8,7 @@ InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Preferences = "21216c6a-2e73-6563-6e65-726566657250" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" diff --git a/test/runtests.jl b/test/runtests.jl index 6fd437f2..ddf62c7e 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,3 +1,6 @@ +using Pkg +Pkg.add(url="https://github.com/JuliaGPU/GPUArrays.jl", rev="splittest") + using Distributed using Dates import REPL From f98b04174a5a730e7158a9e29368abf3c893e077 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Sat, 29 Nov 2025 18:27:40 -0400 Subject: [PATCH 4/8] Trye something --- lib/cl/kernel.jl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/cl/kernel.jl b/lib/cl/kernel.jl index d0243130..24c5c148 100644 --- a/lib/cl/kernel.jl +++ b/lib/cl/kernel.jl @@ -302,9 +302,10 @@ function call( if !isempty(bda_pointers) clSetKernelExecInfo(k, CL_KERNEL_EXEC_INFO_DEVICE_PTRS_EXT, sizeof(bda_pointers), bda_pointers) end - if !isempty(usm_pointers) - clSetKernelExecInfo(k, CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, sizeof(usm_pointers), usm_pointers) - end + # XXX: Causes crashes on Windows + # if !isempty(usm_pointers) + # clSetKernelExecInfo(k, CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, sizeof(usm_pointers), usm_pointers) + # end end enqueue_kernel(k, global_size, local_size; global_work_offset, wait_on, rng_state, nargs=length(args)) end From 9170e4cfd145c6a4957db51d35896beaeba1036e Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 4 Dec 2025 09:38:55 -0400 Subject: [PATCH 5/8] Try something else --- lib/cl/kernel.jl | 6 +++--- src/memory.jl | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/cl/kernel.jl b/lib/cl/kernel.jl index 24c5c148..1f6c47d8 100644 --- a/lib/cl/kernel.jl +++ b/lib/cl/kernel.jl @@ -303,9 +303,9 @@ function call( clSetKernelExecInfo(k, CL_KERNEL_EXEC_INFO_DEVICE_PTRS_EXT, sizeof(bda_pointers), bda_pointers) end # XXX: Causes crashes on Windows - # if !isempty(usm_pointers) - # clSetKernelExecInfo(k, CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, sizeof(usm_pointers), usm_pointers) - # end + if !isempty(usm_pointers) + clSetKernelExecInfo(k, CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, sizeof(usm_pointers), usm_pointers) + end end enqueue_kernel(k, global_size, local_size; global_work_offset, wait_on, rng_state, nargs=length(args)) end diff --git a/src/memory.jl b/src/memory.jl index 08beefea..60306823 100644 --- a/src/memory.jl +++ b/src/memory.jl @@ -188,7 +188,7 @@ function free(managed::Managed) end cl.svm_free(mem) elseif mem isa cl.UnifiedMemory - cl.usm_free(mem) + cl.usm_free(mem; blocking = true) else cl.release(mem) end From 6824f6ed2d7e52b08f754d0fb8f64054964a0990 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 4 Dec 2025 09:48:25 -0400 Subject: [PATCH 6/8] Split up tests were merged --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index ddf62c7e..1575f0bf 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,5 +1,5 @@ using Pkg -Pkg.add(url="https://github.com/JuliaGPU/GPUArrays.jl", rev="splittest") +Pkg.add(url="https://github.com/JuliaGPU/GPUArrays.jl", rev="master") using Distributed using Dates From e3a8ba23d3e1bd559aaa95d88f2243cf48afa72f Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 4 Dec 2025 11:20:12 -0400 Subject: [PATCH 7/8] Undo --- src/memory.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/memory.jl b/src/memory.jl index 60306823..08beefea 100644 --- a/src/memory.jl +++ b/src/memory.jl @@ -188,7 +188,7 @@ function free(managed::Managed) end cl.svm_free(mem) elseif mem isa cl.UnifiedMemory - cl.usm_free(mem; blocking = true) + cl.usm_free(mem) else cl.release(mem) end From 3cbd96a0884b83f200dea2852ac295a8239d3b89 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Thu, 4 Dec 2025 12:33:18 -0400 Subject: [PATCH 8/8] Disable setting SUM ptrs only on Windows --- lib/cl/kernel.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cl/kernel.jl b/lib/cl/kernel.jl index 1f6c47d8..ded41be1 100644 --- a/lib/cl/kernel.jl +++ b/lib/cl/kernel.jl @@ -303,7 +303,7 @@ function call( clSetKernelExecInfo(k, CL_KERNEL_EXEC_INFO_DEVICE_PTRS_EXT, sizeof(bda_pointers), bda_pointers) end # XXX: Causes crashes on Windows - if !isempty(usm_pointers) + if !isempty(usm_pointers) && !Sys.iswindows() clSetKernelExecInfo(k, CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, sizeof(usm_pointers), usm_pointers) end end