From 552d4cc881b98eff0fe451a0400779284d8b4fec Mon Sep 17 00:00:00 2001 From: Katharine Hyatt Date: Wed, 16 Sep 2026 15:39:43 +0200 Subject: [PATCH 1/2] Use maximum rather than norm To bypass `norm_recursive_check` which is getting called because these are `SubArray{T, <:GPUArray}` --- src/pullbacks/svd.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pullbacks/svd.jl b/src/pullbacks/svd.jl index 6c42bc26d..194498371 100755 --- a/src/pullbacks/svd.jl +++ b/src/pullbacks/svd.jl @@ -37,7 +37,7 @@ function check_and_prepare_svd_cotangents( mul!(utmp, U₁, wtmp, -1, 1) ΔgaugeU = max(ΔgaugeU, norm(utmp)) else # remaining columns should be zero - ΔgaugeU = max(ΔgaugeU, norm(view(ΔU, :, j), Inf)) + ΔgaugeU = max(ΔgaugeU, maximum(abs, view(ΔU, :, j); init = abs(zero(eltype(ΔU))))) end end end @@ -69,7 +69,7 @@ function check_and_prepare_svd_cotangents( mul!(vtmp, wtmp, V₁ᴴ, -1, 1) ΔgaugeV = max(ΔgaugeV, norm(vtmp)) else # remaining rows should be zero - ΔgaugeV = max(ΔgaugeV, norm(view(ΔVᴴ, j, :), Inf)) + ΔgaugeV = max(ΔgaugeV, maximum(abs, view(ΔVᴴ, j, :); init = abs(zero(eltype(ΔVᴴ)))))) end end end From 84c9f8a488bce9c249accf7f61c550dd327552a3 Mon Sep 17 00:00:00 2001 From: Katharine Hyatt Date: Wed, 16 Sep 2026 16:32:08 +0200 Subject: [PATCH 2/2] Fix stupid typo --- src/pullbacks/svd.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pullbacks/svd.jl b/src/pullbacks/svd.jl index 194498371..090012553 100755 --- a/src/pullbacks/svd.jl +++ b/src/pullbacks/svd.jl @@ -69,7 +69,7 @@ function check_and_prepare_svd_cotangents( mul!(vtmp, wtmp, V₁ᴴ, -1, 1) ΔgaugeV = max(ΔgaugeV, norm(vtmp)) else # remaining rows should be zero - ΔgaugeV = max(ΔgaugeV, maximum(abs, view(ΔVᴴ, j, :); init = abs(zero(eltype(ΔVᴴ)))))) + ΔgaugeV = max(ΔgaugeV, maximum(abs, view(ΔVᴴ, j, :); init = abs(zero(eltype(ΔVᴴ))))) end end end