triton.language.min

1. OP 概述

简介:在指定维度上返回最小值

triton.language.min(input, axis=None, return_indices=False, return_indices_tie_break_left=True, keep_dims=False)

2. OP 规格

2.1 参数说明

参数名 类型 说明
input tensor 输入的张量数据
axis int 指定在哪个维度上进行规约
keep_dims bool 如果为True,保留被规约的维度(大小为1)
return_indices bool True返回最小值的同时返回最小值相关所在下标
return_indices_tie_break_left bool True如果多个元素有相同的最小值,返回最左侧最小值的下标。

返回值: tl.tensor:同input的shape的张量

参数组合支持:

axis keep_dims return_indices return_indices_tie_break_left 规格
1 TRUE TRUE TRUE 支持
1 TRUE TRUE FALSE 支持
1 TRUE FALSE TRUE 支持
1 TRUE FALSE FALSE 支持
1 FALSE TRUE TRUE 支持
1 FALSE TRUE FALSE 支持
1 FALSE FALSE TRUE 支持
1 FALSE FALSE FALSE 支持
None TRUE TRUE TRUE 不支持
None TRUE TRUE FALSE 不支持
None TRUE FALSE TRUE 支持
None TRUE FALSE FALSE 支持
None FALSE TRUE TRUE 不支持
None FALSE TRUE FALSE 不支持
None FALSE FALSE TRUE 支持
None FALSE FALSE FALSE 支持

2.2 支持规格

2.2.1 DataType 支持

uint8 int8 uint16 int16 uint32 int32 uint64 int64 fp16 fp32 bf16 bool/int1
GPU
Ascend A2/A3 × × ×

2.2.2 Shape 支持

支持维度范围
GPU 无限制
Ascend A2/A3 无限制

结论:在 Shape 方面,GPU 与 Ascend 平台无差异。

2.3 使用方法

更多示例参考triton-ascend代码仓,ascend/examples/generalization_cases/test_min.py

@triton.jit
def triton_min_1d(in_ptr0, out_ptr1, xnumel, XBLOCK : tl.constexpr):
    xoffset = tl.program_id(0) + tl.arange(0, XBLOCK)
    tmp0 = tl.load(in_ptr0 + xoffset, None)
    tmp4 = tl.min(tmp0, 0)
    tl.store(out_ptr1, tmp4, None)

2.4. 特殊限制

Ascend A3对比 GPU 缺失uint16、uint32、uint64、fp64的支持。