From e052c65a9c2073483a8d62b11f7829e4e8b84552 Mon Sep 17 00:00:00 2001 From: lkdvos Date: Fri, 9 Oct 2026 15:01:20 -0400 Subject: [PATCH 1/2] Extend GPUArrays compat to 12 and JLArrays compat to 0.4 Co-Authored-By: Claude Opus 5.5 --- Project.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index bba7c4f..5cb347a 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "Strided" uuid = "5e0ebb24-38b0-5f93-81fe-25c709ecae67" -version = "2.6.5" +version = "2.6.6" authors = ["Lukas Devos ", "Maarten Van Damme ", "Jutho Haegeman "] [deps] @@ -26,8 +26,8 @@ Adapt = "4" CUDACore = "6" cuBLAS = "6" cuRAND = "6" -GPUArrays = "11.4.1" -JLArrays = "0.3.1" +GPUArrays = "11.4.1, 12" +JLArrays = "0.3.1, 0.4" LinearAlgebra = "1.6" Metal = "1.9" PrecompileTools = "1" From e2d1b5b9796a6b5a08e1cb4809c332560dc9bf3f Mon Sep 17 00:00:00 2001 From: lkdvos Date: Mon, 12 Oct 2026 14:13:34 -0400 Subject: [PATCH 2/2] Compare device math approximately in single-element GPU tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `abs` and `abs2` of complex numbers may round differently on the device (e.g. AMDGPU's `hypot`), so compare those reductions with `≈`. Co-Authored-By: Claude Opus 5.5 --- test/gpu.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/gpu.jl b/test/gpu.jl index 8c21e82..9a19d3d 100644 --- a/test/gpu.jl +++ b/test/gpu.jl @@ -191,13 +191,13 @@ end A = StridedView(AT(R)) @test size(A) == dims - # full reductions + # full reductions; `abs` and `abs2` may round differently on the device @test sum(A) == sum(R) @test prod(A) == prod(R) - @test mapreduce(abs2, +, A) == mapreduce(abs2, +, R) - @test maximum(abs, A) == maximum(abs, R) - @test minimum(abs, A) == minimum(abs, R) - @test sum(abs2, A) == sum(abs2, R) + @test mapreduce(abs2, +, A) ≈ mapreduce(abs2, +, R) + @test maximum(abs, A) ≈ maximum(abs, R) + @test minimum(abs, A) ≈ minimum(abs, R) + @test sum(abs2, A) ≈ sum(abs2, R) @test mapreduce(identity, +, A; init = one(T)) == mapreduce(identity, +, R; init = one(T))