文档
注册
评分
提单
论坛
小AI

set_printf_params

功能说明

设置printf参数。

函数原型

def set_printf_params(print_workspace_size=128, single_print_length=512, is_printf_to_screen=True, printf_file_path=None)

参数说明

参数名称

输入/输出

含义

print_workspace_size

输入

打印总空间大小,如果算子有多个核并行运行,则打印总空间大小包括所有核的空间之和,各个核均匀切分。

单位:M Byte。

范围:[1, 32768]

默认值:128, 表示128M 空间。

支持的数据类型:立即数(int)

single_print_length

输入

单个print 语句占用的固定长度。如果单个print语句的空间少于这个值,也会占用这个值的空间。

单位:Byte

范围:[64, print_workspace_size*1024*1024//核数 -32],其中“print_workspace_size”:参看print_workspace_size参数说明;“核数”和算子相关,由算子开发者指定核的数量,即多核for_range的block_num。

默认值:512 Byte

支持的数据类型:立即数(int)

注意: 值必须是32 字节的整数倍。

is_printf_to_screen

输入

printf语句是否打印到屏幕,类型为bool。默认为True,打印到屏幕;可以设置为False,不打印到屏幕。

printf_file_path

输入

printf语句打印文件路径。默认为None,不打印到文件;可以用字符串表示文件路径,printf结果保存在该路径的[kernel_name].txt中。

支持的型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

Atlas 推理系列产品(Ascend 310P处理器)

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

Atlas 200/500 A2推理产品

返回值

注意事项

  • set_printf_params必须在所有printf前调用,可选择不调用set_printf_params直接使用printf。
  • 在一个算子内,set_printf_params只能调用1次,多次调用会报错。
  • 打印总空间大小的最大大小与设备DDR内存大小有关,否则可能导致算子运行失败。
  • print_workspace_size*1024*1024 需要被多核for_range的block_num整除。
  • print_workspace_size*1024*1024 需要大于等于多核for_range的block_num * (32 + single_print_length )。
  • 请确保可创建printf_file_path目录

调用示例

from tbe import tik
tik_instance = tik.Tik()
# 设置整体workspace空间为1MB, 单条打印最大长度为256B
tik_instance.set_printf_params(1, 256)
scalar = tik_instance.Scalar("int8", init_value=-128)
tik_instance.printf("scalar is: %d\n", scalar)
tik_instance.BuildCCE(inputs=[], outputs=[], kernel_name="print_scalar")
tik_instance.tikdb.start_debug({})
输入
[]
输出
scalar is: -128
搜索结果
找到“0”个结果

当前产品无相关内容

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