ttnn.min

ttnn.min(input_tensor: ttnn.Tensor, dim: number or tuple, keepdim: bool = False, *, memory_config: ttnn.MemoryConfig = None, compute_kernel_config: ttnn.ComputeKernelConfig = None, scalar: float = 1.0, correction: bool | None, sub_core_grids: ttnn.CoreRangeSet = None, fast_and_approximate_mode: bool | None) → ttnn.Tensor

Computes the min of the input tensor input_tensor along the specified dimension(s) dim. If no dimension is provided, min is computed over all dimensions yielding a single value.

Parameters:
  • input_tensor (ttnn.Tensor)the input tensor. Must be on the device.

  • dim (number or tuple)dimension value(s) to reduce over.

  • keepdim (bool, optional)keep the original dimension size(s). Defaults to False.

Keyword Arguments:
  • memory_config (ttnn.MemoryConfig, optional)Memory configuration for the operation. Defaults to None.

  • compute_kernel_config (ttnn.ComputeKernelConfig, optional)Compute kernel configuration for the operation. Defaults to None.

  • scalar (float, optional)A scaling factor to be applied to the input tensor. Defaults to 1.0.

  • correction (bool, optional)Deprecated. This parameter is deprecated and will be removed in a future release. It has no impact on the result.

  • sub_core_grids (ttnn.CoreRangeSet, optional)Subcore grids to use for the operation. Defaults to None, which will use all cores.

  • fast_and_approximate_mode (bool, optional)must stay False (the default) for FLOAT32. The FPU has no min pool, so there is no faster path to select: a FLOAT32 min with True is rejected rather than lowered to -max(-x). No effect for non-FLOAT32 inputs.

Returns:

ttnn.Tensorthe output tensor.

Note

The input tensor supports the following data types and layouts:

Input Tensor

dtype

layout

FLOAT32

ROW_MAJOR, TILE

BFLOAT16

ROW_MAJOR, TILE

BFLOAT8_B

TILE

INT32

TILE

The output tensor will be in TILE layout and have the same dtype as the input_tensor. Exception: for sum and mean, 4D ROW_MAJOR BFLOAT16/FLOAT32 inputs with INTERLEAVED memory config reduced along the last (-1) or second-to-last (-2) dimension preserve ROW_MAJOR layout.

Memory Support:
  • Interleaved: DRAM and L1

  • Sharded (L1): Width, Height, Block, and ND sharding

  • Sharded (DRAM): Width, Height, and ND sharding

  • Output sharding will mirror the input

  • Not supported: DRAM block sharding; sharded ROW_MAJOR inputs; and sharded reduction along a dimension other than -1 / -2

Example

# Create tensor
tensor_input = ttnn.rand((2, 3, 4), device=device)

# Apply ttnn.min() on dim=0
tensor_output = ttnn.min(tensor_input, dim=0)
logger.info(f"Min result: {tensor_output}")