@@ -1864,7 +1864,7 @@ def func_cholesky_and_solve_fused_tiled(
18641864 while j < i_d :
18651865 dot = dot + L_sh [i_d , j ] * v_sh [j ]
18661866 j = j + 16
1867- dot = qd .simt .subgroup .reduce_all_add (dot , 4 )
1867+ dot = qd .simt .subgroup .reduce_all_add_tiled (dot , 4 )
18681868 if tid == 0 :
18691869 v_sh [i_d ] = (v_sh [i_d ] - dot ) / L_sh [i_d , i_d ]
18701870 qd .simt .block .sync ()
@@ -1877,7 +1877,7 @@ def func_cholesky_and_solve_fused_tiled(
18771877 while j < n_dofs :
18781878 dot = dot + L_sh [j , i_d ] * v_sh [j ]
18791879 j = j + 16
1880- dot = qd .simt .subgroup .reduce_all_add (dot , 4 )
1880+ dot = qd .simt .subgroup .reduce_all_add_tiled (dot , 4 )
18811881 if tid == 0 :
18821882 v_sh [i_d ] = (v_sh [i_d ] - dot ) / L_sh [i_d , i_d ]
18831883 qd .simt .block .sync ()
@@ -2488,7 +2488,7 @@ def _func_linesearch_eval_constraints_at_n_alphas_coop(
24882488 """Cooperative (32-lane subgroup) variant of ``_func_linesearch_eval_constraints_at_n_alphas_serial``.
24892489
24902490 All 32 lanes call this with their own ``tid``; the constraint loop is strided by 32, then each
2491- accumulator is reduced across the warp via ``subgroup.reduce_all_add (_, 5)`` so every lane ends
2491+ accumulator is reduced across the warp via ``subgroup.reduce_all_add_tiled (_, 5)`` so every lane ends
24922492 up with identical return values. Returns the same 3 ``qd.Vector(3)``s ``(t0, t1, t2)`` as the serial inner.
24932493 """
24942494 ne = constraint_state .n_constraints_equality [i_b ]
@@ -2559,9 +2559,9 @@ def _func_linesearch_eval_constraints_at_n_alphas_coop(
25592559 # Warp-tree reduction: every lane's 9 partial sums collapse into the per-env totals; after this
25602560 # all 32 lanes hold identical scalars. The `5` is log2(32) tree levels.
25612561 for k in qd .static (range (n_alphas )):
2562- t_0 [k ] = qd .simt .subgroup .reduce_all_add (t_0 [k ], 5 )
2563- t_1 [k ] = qd .simt .subgroup .reduce_all_add (t_1 [k ], 5 )
2564- t_2 [k ] = qd .simt .subgroup .reduce_all_add (t_2 [k ], 5 )
2562+ t_0 [k ] = qd .simt .subgroup .reduce_all_add_tiled (t_0 [k ], 5 )
2563+ t_1 [k ] = qd .simt .subgroup .reduce_all_add_tiled (t_1 [k ], 5 )
2564+ t_2 [k ] = qd .simt .subgroup .reduce_all_add_tiled (t_2 [k ], 5 )
25652565
25662566 t0 = qd .Vector ([t_0 [0 ], t_1 [0 ], t_2 [0 ]])
25672567 t1 = qd .Vector ([t_0 [1 ], t_1 [1 ], t_2 [1 ]])
0 commit comments