Skip to main content
Log in

Mojo function

min

min[type: DType, width: Int, //, *, block_size: Int, broadcast: Bool = True](val: SIMD[type, width]) -> SIMD[type, width]

Computes the minimum value across all threads in a block.

Performs a parallel reduction using warp-level operations and shared memory to find the global minimum across all threads in the block.

Parameters:

  • type (DType): The data type of the SIMD elements.
  • width (Int): The number of elements in each SIMD vector.
  • block_size (Int): The total number of threads in the block.
  • broadcast (Bool): If True, the final minimum is broadcast to all threads in the block. If False, only the first thread will have the complete min.

Args:

  • val (SIMD[type, width]): The SIMD value to reduce. Each thread contributes its value to find the minimum.

Returns:

If broadcast is True, each thread in the block will receive the minimum value across the entire block. Otherwise, only the first thread will have the complete result.

Was this page helpful?