@@ -43,17 +43,17 @@ function ER.augmented_primal(cfg::ER.RevConfig,
4343 mul_AshiftB!(C. val, A. val, B. val, shift. val)
4444
4545 # Always tape A and parent(B) primals to survive workspace reuse.
46- # tapeA_obj, itA = get_block(A.val.temps)
47- # tapeA_obj .= A.val.A
48- # tapeA = (tapeA_obj, itA)
49- tapeA_obj = deepcopy(A. val. A)
50- tapeA = (tapeA_obj, nothing )
51-
52- # tapeB_obj, itB = get_block(B.val.temps)
53- # tapeB_obj .= B.val.A
54- # tapeB = (tapeB_obj, itB)
55- tapeB_obj = deepcopy(B. val. A)
56- tapeB = (tapeB_obj, nothing )
46+ tapeA_obj, itA = get_block(A. val. temps)
47+ tapeA_obj .= A. val. A
48+ tapeA = (tapeA_obj, itA)
49+ # tapeA_obj = deepcopy(A.val.A)
50+ # tapeA = (tapeA_obj, nothing)
51+
52+ tapeB_obj, itB = get_block(B. val. temps)
53+ tapeB_obj .= B. val. A
54+ tapeB = (tapeB_obj, itB)
55+ # tapeB_obj = deepcopy(B.val.A)
56+ # tapeB = (tapeB_obj, nothing)
5757
5858 tape_shift = shift. val
5959 if get(ENV , " LM_DEBUG_MULASHIFTB" , " " ) == " 1"
@@ -188,10 +188,10 @@ function _rev_mul_AshiftB!(
188188
189189 # Release tape blocks(早期 return があっても必ずやりたいなら try/finally 化推奨)
190190 if tapeA != = nothing
191- # unused!(A.val.temps, tapeA[2])
191+ unused!(A. val. temps, tapeA[2 ])
192192 end
193193 if tapeB != = nothing
194- # unused!(B.val.temps, tapeB[2])
194+ unused!(B. val. temps, tapeB[2 ])
195195 end
196196
197197 if _should_zero_dC(dCout)
0 commit comments