pypto_pro.language.min#

产品支持情况#

  • Ascend 950PR/Ascend 950DT:支持

  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持

  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持

功能说明#

在Kernel代码中可直接使用Python内置min(lhs, rhs),编译时会自动转换为pypto_pro.language.min(lhs, rhs),取两个标量中的较小值。

函数原型#

# 以下两种写法等价
result = min(lhs, rhs)
result = pypto_pro.language.min(lhs, rhs)

参数说明#

参数

输入/输出

说明

lhs

输入

左操作数(Python int、Python float或Kernel内整型或浮点型标量表达式)

rhs

输入

右操作数(Python int、Python float或Kernel内整型或浮点型标量表达式)

约束说明#

  • 仅用于标量:用于循环边界、索引计算等场景

  • Tile逐元素取最小值:使用pypto_pro.language.minimum

  • 不支持多参数:仅接受恰好2个参数,min(a, b, c)不支持

  • 同类别约束:两个操作数须同为整型或同为浮点型,混合int/float会报错

返回值说明#

返回lhs和rhs中较小的标量值。

调用示例#

import pypto_pro.language as pl

@pl.jit()
def example_kernel(...):
    m_size = min(m_dim - i, 64)
    n_size = pl.min(n_dim - j, 128)

    causal_kv_tiles = min(qi + 1, skv_tiles)
    bottom = min(a, 0)