下载
中文
注册

核函数NPU上板打印

算子NPU上板调测时,支持printf/PRINTF、DumpTensor、assert等打印功能,更多调试功能介绍和参数说明参见更多功能

  1. 核函数NPU上板验证时,支持打印Scalar和Tensor数据。
    • 打印Scalar数据
      1. 在核函数代码中目标位置按需加上printf或PRINTF语句,以PRINTF为例:
        PRINTF("1 fmt string d %d\n", 6666);
        PRINTF("1 fmt string lf %lf\n", float(61.556));
      2. 执行如下命令,使能Dump开关。
        ascendebug kernel --backend npu --repo-type ops_adv --repo-path ${repo_path} --json-file ${op_config_json_file} --core-type ${core_type} --dump-mode normal

        其中--dump-mode用于设置上板打印模式,此处设为normal,开启通用打印方式,其他命令参数的配置与核函数NPU上板精度验证保持一致。

    • 打印Tensor数据
      1. 在核函数代码中调用接口说明,样例如下:
        DumpTensor(srcLocal, 5, dataNum); 
      2. 执行如下命令,使能Dump开关。
        ascendebug kernel --backend npu --repo-type ops_adv --repo-path ${repo_path} --json-file ${op_config_json_file} --core-type ${core_type} --dump-mode normal

        其中--dump-mode用于设置上板打印模式,此处设为normal,开启通用打印方式,其他命令参数的配置与核函数NPU上板精度验证保持一致。

  2. 查看打印结果。
    • Scalar数据可以屏显打印结果,示例如下。

    • Tensor数据的打印结果路径存在${root}/${work_dir}/npu/dump/PARSER_${timestamp}/dump_data下,其中${root}表示当前操作路径,${work_dir}表示调测工作空间,默认为/debug_workspace/${op_type}目录,${op_type}为算子名,${timestamp}为时间戳。