warp.tile_scan_exclusive#

warp.tile_scan_exclusive(
a: Tile[Scalar, tuple[int, ...]],
) → Tile[Scalar, tuple[int, ...]]#
  • Kernel: true
  • Python: false
  • Differentiable: false

Return a new tile containing the exclusive prefix sums of a tile.

This is a cooperative operation: the threads of the block divide the work between them, so every thread must reach the call.

Element i of the result is the sum of input elements 0 through i - 1, so element 0 is zero. A multi-dimensional tile is scanned over its flattened row-major sequence and the result keeps the input shape. On CUDA, this operation reserves a tile’s worth of shared memory (see Shared Memory Budget).

Parameters:

a – The input tile. Must be a tile of warp.float32, warp.int32, or warp.uint32.

Returns:

A register tile with the same shape and dtype as a.

See tile_scan_inclusive() for a usage example.