warp.tile_lower_solve_inplace#

warp.tile_lower_solve_inplace(
L: Tile[Float, tuple[int, int]],
y: Tile[Float, tuple[int, ...]],
) → None#
  • Kernel: true
  • Python: false
  • Differentiable: false

Solve L z = y in place for a lower-triangular L, overwriting y with z.

Behaves like tile_lower_solve() – only the lower triangle of L is read, the right-hand side may be 1D or 2D, and the same dtype and backend rules apply – except that the solution overwrites y instead of being returned.

This is a cooperative operation, so every thread in the block must call it.

This in-place variant avoids allocating shared memory for a separate output, but is not differentiable.

Parameters:
  • L – A square, non-singular, lower-triangular tile with shape=(M, M).

  • y – The right-hand side, a tile with shape=(M,) or shape=(M, NRHS), overwritten by the solution z.

See tile_lower_solve() for a usage example.