warp.tile\_upper\_solve\_inplace ================================ .. currentmodule:: warp._src.lang .. function:: tile_upper_solve_inplace(U: Tile[Float, tuple[int, int]], z: Tile[Float, tuple[int, ...]]) -> None .. wp-function-tags:: :kernel: true :python: false :differentiable: false Solve ``U x = z`` in place for an upper-triangular ``U``, overwriting ``z`` with ``x``. Behaves like :func:`~warp.tile_upper_solve` -- only the upper triangle of ``U`` is read, the right-hand side may be 1D or 2D, and the same dtype and backend rules apply -- except that the solution overwrites ``z`` 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. :param U: A square, non-singular, upper-triangular tile with ``shape=(M, M)``. :param z: The right-hand side, a tile with ``shape=(M,)`` or ``shape=(M, NRHS)``, overwritten by the solution ``x``. See :func:`~warp.tile_upper_solve` for usage details, and :func:`~warp.tile_lower_solve` for an example.