all
功能说明
此函数用于判断输入参数是否全部为True,若是则返回True;若其中有一个为False,则返回False。
此接口一般用作条件判断语句if_scope、elif_scope的判断条件(cond)。
函数原型
all(*args)
参数说明
参数名称 |
输入/输出 |
含义 |
---|---|---|
*args |
输入 |
可传入多个参数。 支持InputScalar,Scalar,Expr,bool,立即数(Int,Float),以及any、all、negate函数。
其中:
|
支持的型号
Atlas 200/300/500 推理产品
Atlas 训练系列产品
Atlas推理系列产品(Ascend 310P处理器)AI Core
Atlas推理系列产品(Ascend 310P处理器)Vector Core
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 200/500 A2推理产品
注意事项
Atlas 200/300/500 推理产品,Scalar和Expr中的scalar不能为float16或float32类型。
Atlas 训练系列产品,Scalar和Expr中的scalar不能为float16类型。
Atlas推理系列产品(Ascend 310P处理器)AI Core,Scalar和Expr中的scalar不能为float16类型。
Atlas推理系列产品(Ascend 310P处理器)Vector Core,Scalar和Expr中的scalar不能为float16类型。
Atlas A2训练系列产品/Atlas 800I A2推理产品,Scalar和Expr中的scalar不能为float16类型。
Atlas 200/500 A2推理产品,Scalar和Expr中的scalar不能为float16类型。
返回值
返回TIK表达式。
例如:tik.all(scalar, scalar > 1, a == 0, i)
返回:((x != 0) && (x > 1)) && (i != 0))
调用示例
tik_instance = tik.Tik() scalar = tik_instance.Scalar("uint32", init_value=0) scalar2 = tik_instance.Scalar("uint32", init_value=4) gm_b = tik_instance.Tensor(dtype, shape, name="gm_b", scope=tik.scope_gm) ub_b = tik_instance.Tensor(dtype, shape, name="ub_b", scope=tik.scope_ubuf) a = 1 # scalar2!=0,所以结果为True;a等于1,大于0,所以结果为True;scalar等于0,结果也为True # 当所有参数都为True时,tik.all的结果也为True,程序会进入if_scope分支 with tik_instance.if_scope(tik.all(scalar2, a > 0, scalar == 0)): tik_instance.vec_dup(64, ub_b, scalar2, 1, 8) tik_instance.data_move(gm_b, ub_b, 0, 1, 8, 0, 0) tik_instance.BuildCCE(kernel_name="all", inputs=[], outputs=[gm_b])