下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

tik_break

功能说明

tik_break语句用来终止for_range循环语句,即tik_break语句将停止执行当前的循环。

函数原型

tik_break()

参数说明

支持的型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

Atlas推理系列产品AI Core

Atlas推理系列产品Vector Core

Atlas A2训练系列产品/Atlas 800I A2推理产品

Atlas 200/500 A2推理产品

注意事项

  1. tik_break()仅允许在for_range语句的作用域内使用。
  2. 当for_range语句的block_num > 1时,当前循环内不允许使用tik_break(), 但子循环可以使用。
  3. 当for_range语句的subblock_num > 1时,当前循环内不允许使用tik_break(), 但子循环可以使用。
  4. 同一作用域内, tik_break后的代码不执行。
  5. 当for_range(0, 1)时, for_range将会被展开, 其展开后, tik_break后的语句将不会执行。
  6. 在当前for_range作用域内, 如果使用了tik_break, thread_num的值将会被设置为1。

返回值

调用示例

tik_instance = tik.Tik()
kernel_name = "test_tik_break"
data_type = 'float16'
data_shape = (128,)
src_gm = tik_instance.Tensor(data_type, data_shape, name="src_gm", scope=tik.scope_gm)
dst_gm = tik_instance.Tensor(data_type, data_shape, name="dst_gm", scope=tik.scope_gm)

src_ub = tik_instance.Tensor(data_type, data_shape, name="src_ub", scope=tik.scope_ubuf)
dst_ub = tik_instance.Tensor(data_type, data_shape, name="dst_ub", scope=tik.scope_ubuf)

tik_instance.data_move(src_ub, src_gm, 0, 1, 8, 0, 0)
with tik_instance.for_range(0, 8) as i:
    with tik_instance.if_scope(i == 5):
        tik_instance.tik_break()
    tik_instance.data_move(dst_ub[i*16], src_ub[i*16], 0, 1, 1, 0, 0)
tik_instance.data_move(dst_gm, dst_ub, 0, 1, 8, 0, 0)
tik_instance.BuildCCE(kernel_name, inputs=[src_gm], outputs=[dst_gm])
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词