From aaadc058cb71c704234f201423f5540b990047bc Mon Sep 17 00:00:00 2001 From: Katharine Hyatt Date: Mon, 23 Mar 2026 12:23:10 +0100 Subject: [PATCH 1/2] Try Enzyme tests with CUDA --- test/enzyme/eig.jl | 3 +++ test/enzyme/eigh.jl | 3 +++ test/enzyme/lq.jl | 3 +++ test/enzyme/orthnull.jl | 3 +++ test/enzyme/polar.jl | 3 +++ test/enzyme/projections.jl | 4 ++++ test/enzyme/qr.jl | 3 +++ test/enzyme/svd.jl | 3 +++ 8 files changed, 25 insertions(+) diff --git a/test/enzyme/eig.jl b/test/enzyme/eig.jl index 1404d751c..57efa81f4 100644 --- a/test/enzyme/eig.jl +++ b/test/enzyme/eig.jl @@ -18,4 +18,7 @@ for T in (BLASFloats..., GenericFloats...) AT = Diagonal{T, Vector{T}} TestSuite.test_enzyme_eig(AT, m; atol = m * m * TestSuite.precision(T), rtol = m * m * TestSuite.precision(T)) end + if CUDA.functional() + TestSuite.test_enzyme_eig(CuMatrix{T}, (m, n); atol = m * n * TestSuite.precision(T), rtol = m * n * TestSuite.precision(T)) + end end diff --git a/test/enzyme/eigh.jl b/test/enzyme/eigh.jl index 05ae7f384..a1984d944 100644 --- a/test/enzyme/eigh.jl +++ b/test/enzyme/eigh.jl @@ -18,4 +18,7 @@ for T in (BLASFloats..., GenericFloats...) AT = Diagonal{T, Vector{T}} TestSuite.test_enzyme_eigh(AT, m; atol = m * m * TestSuite.precision(T), rtol = m * m * TestSuite.precision(T)) end + if CUDA.functional() + TestSuite.test_enzyme_eigh(CuMatrix{T}, (m, n); atol = m * n * TestSuite.precision(T), rtol = m * n * TestSuite.precision(T)) + end end diff --git a/test/enzyme/lq.jl b/test/enzyme/lq.jl index 7c747529d..c10aadcba 100644 --- a/test/enzyme/lq.jl +++ b/test/enzyme/lq.jl @@ -18,4 +18,7 @@ for T in (BLASFloats..., GenericFloats...), n in (17, m, 23) AT = Diagonal{T, Vector{T}} m == n && TestSuite.test_enzyme_lq(AT, (m, m); atol = m * m * TestSuite.precision(T), rtol = m * m * TestSuite.precision(T)) end + if CUDA.functional() + TestSuite.test_enzyme_lq(CuMatrix{T}, (m, n); atol = m * n * TestSuite.precision(T), rtol = m * n * TestSuite.precision(T)) + end end diff --git a/test/enzyme/orthnull.jl b/test/enzyme/orthnull.jl index 086873d3f..aa8ac967a 100644 --- a/test/enzyme/orthnull.jl +++ b/test/enzyme/orthnull.jl @@ -18,4 +18,7 @@ for T in (BLASFloats..., GenericFloats...), n in (17, m, 23) AT = Diagonal{T, Vector{T}} m == n && TestSuite.test_enzyme_orthnull(AT, (m, m); atol = m * m * TestSuite.precision(T), rtol = m * m * TestSuite.precision(T)) end + if CUDA.functional() + TestSuite.test_enzyme_orthnull(CuMatrix{T}, (m, n); atol = m * n * TestSuite.precision(T), rtol = m * n * TestSuite.precision(T)) + end end diff --git a/test/enzyme/polar.jl b/test/enzyme/polar.jl index 183086adb..1843ecd5d 100644 --- a/test/enzyme/polar.jl +++ b/test/enzyme/polar.jl @@ -18,4 +18,7 @@ for T in (BLASFloats..., GenericFloats...), n in (17, m, 23) AT = Diagonal{T, Vector{T}} #m == n && TestSuite.test_enzyme_polar(AT, (m, m); atol = m * m * TestSuite.precision(T), rtol = m * m * TestSuite.precision(T)) end + if CUDA.functional() + TestSuite.test_enzyme_polar(CuMatrix{T}, (m, n); atol = m * n * TestSuite.precision(T), rtol = m * n * TestSuite.precision(T)) + end end diff --git a/test/enzyme/projections.jl b/test/enzyme/projections.jl index 52b222a52..4d4d71ad0 100644 --- a/test/enzyme/projections.jl +++ b/test/enzyme/projections.jl @@ -18,4 +18,8 @@ for T in (BLASFloats..., GenericFloats...) TestSuite.test_enzyme_projections(T, (m, m); atol, rtol) TestSuite.test_enzyme_projections(Diagonal{T, Vector{T}}, (m, m); atol, rtol) end + if CUDA.functional() + TestSuite.test_enzyme_projections(CuMatrix{T}, (m, m); atol, rtol) + TestSuite.test_enzyme_projections(Diagonal{T, CuVector{T}}, (m, m); atol, rtol) + end end diff --git a/test/enzyme/qr.jl b/test/enzyme/qr.jl index 2d8b9e7e1..3d3116a1f 100644 --- a/test/enzyme/qr.jl +++ b/test/enzyme/qr.jl @@ -18,4 +18,7 @@ for T in (BLASFloats..., GenericFloats...), n in (17, m, 23) AT = Diagonal{T, Vector{T}} m == n && TestSuite.test_enzyme_qr(AT, (m, m); atol = m * m * TestSuite.precision(T), rtol = m * m * TestSuite.precision(T)) end + if CUDA.functional() + TestSuite.test_enzyme_qr(CuMatrix{T}, (m, n); atol = m * n * TestSuite.precision(T), rtol = m * n * TestSuite.precision(T)) + end end diff --git a/test/enzyme/svd.jl b/test/enzyme/svd.jl index bef41e5c7..64feccfb4 100644 --- a/test/enzyme/svd.jl +++ b/test/enzyme/svd.jl @@ -18,4 +18,7 @@ for T in (BLASFloats..., GenericFloats...), n in (17, m, 23) AT = Diagonal{T, Vector{T}} m == n && TestSuite.test_enzyme_svd(AT, m; atol = m * m * TestSuite.precision(T), rtol = m * m * TestSuite.precision(T)) end + if CUDA.functional() + TestSuite.test_enzyme_svd(CuMatrix{T}, (m, n); atol = m * n * TestSuite.precision(T), rtol = m * n * TestSuite.precision(T)) + end end From ef38cf9744467d41e6de7482efb626bd003ce304 Mon Sep 17 00:00:00 2001 From: Katharine Hyatt Date: Sun, 19 Jul 2026 11:43:20 +0200 Subject: [PATCH 2/2] Extend timeout --- .buildkite/pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 11944ebb2..9242522d6 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -14,7 +14,7 @@ steps: agents: queue: "cuda" if: build.message !~ /\[skip tests\]/ - timeout_in_minutes: 30 + timeout_in_minutes: 90 - label: "Julia LTS -- CUDA" plugins: @@ -28,7 +28,7 @@ steps: agents: queue: "cuda" if: build.message !~ /\[skip tests\]/ - timeout_in_minutes: 30 + timeout_in_minutes: 90 - label: "Julia v1 -- AMDGPU" plugins: