昇腾社区首页
中文
注册

核函数NPU上板打印

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

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

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

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

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

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

    • Tensor数据的打印结果存放在${work_dir}/${op_type}/npu/dump/dump_data下,${work_dir}为当前工作目录,${op_type}为算子名。