From 8fe49b99ff251eac6fae2d326bca286f30f9965f Mon Sep 17 00:00:00 2001 From: Katharine Hyatt Date: Mon, 17 Aug 2026 09:19:40 -0400 Subject: [PATCH] Make svd_trunc pullback GPU friendly --- src/pullbacks/svd.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pullbacks/svd.jl b/src/pullbacks/svd.jl index 4291bf9e6..365ca9feb 100755 --- a/src/pullbacks/svd.jl +++ b/src/pullbacks/svd.jl @@ -241,8 +241,9 @@ function svd_trunc_pullback!( Y₀ᴴ = iszerotangent(ΔV₊ᴴ) ? zero(Vᴴ) : ldiv!(Diagonal(S), ΔV₊ᴴ) US = mul!(ΔAV, U, Smat) # recycle ΔAV AP = mul!(copy(A), US, Vᴴ, -1, 1) - AP ./= S[end] - S⁻¹ = S[end] ./ S + minS = minimum(S) + AP ./= minS + S⁻¹ = minS ./ S X₁ = rmul!(AP * Y₀ᴴ', Diagonal(S⁻¹)) X₁ .+= X₀ Y₁ᴴ = lmul!(Diagonal(S⁻¹), X₀' * AP)