You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add wp.tile_axpy() for fused scalar-multiply-and-accumulate on tiles #1363
There is currently no built-in way to perform a fused dest += src * alpha operation on tiles. Users must decompose this into tile_map(mul, src, alpha_tile) followed by element-wise addition, which creates intermediate register tiles and may prevent the compiler from generating optimal fused multiply-add (FMA) instructions.
A dedicated wp.tile_axpy(dest, src, alpha) primitive would:
Perform dest[i] += src[i] * alpha in a single pass with no intermediate tiles
Work with mixed storage (e.g., shared dest + register src)
Enable the compiler to use FMA instructions throughout
Match the BLAS axpy pattern commonly needed in iterative solvers
Activity
Add wp.tile_axpy() and wp.tile_dot() fused tile primitives (NVIDIAGH-âĶ
Add wp.tile_axpy() and wp.tile_dot() fused tile primitives (NVIDIAGH-âĶ
shi-eric commentedon Apr 19, 2026
Closed by commit
5bef033.alpha: scalar, must match the tile's underlying scalar type (e.g.floatfor a tile ofvec3f).src,dest: tiles with the same shape and dtype.desttiles with non-unique layouts (broadcast bias tiles) the accumulate is done atomically to avoid write races.