开发者
资源
[object Object][object Object]

如需启用全量检测,须在算子代码的编译阶段添加相应编译选项并重新编译算子。 由于不同算子工程中编译选项的配置位置存在差异,将以为例分别说明。

[object Object]

修改模板库中的examples/CMakeLists.txt文件,新增[object Object]编译选项。

[object Object]
[object Object]
  1. 样例工程代码请参考,执行以下命令,下载分支版本的样例代码。

    [object Object]
    [object Object]
  2. 进行算子代码编译,需添加以下编译选项:

    • -g
    • --cce-enable-sanitizer或--sanitizer

    编辑样例工程目录下的“cmake/npu/CMakeLists.txt”文件,参考核函数开发和运行验证的完整样例。

    [object Object]

    增加--cce-enable-sanitizer或--sanitizer选项代表使能异常检测。

    增加-g选项使编译器生成定位信息,将会在异常报告输出时打印异常发生的具体位置(文件名、行号以及调用栈等信息)。

    [object Object]
  3. 链接阶段需增加target_link_options选项。

    • 编辑样例工程目录下的“cmake/npu/CMakeLists.txt”文件。

      [object Object]
    • 编辑样例工程目录下的“cmake/Modules/CMakeCCEInformation.cmake”文件。

      [object Object]
  4. 启用msSanitizer检测工具时,需要加载NPU侧可执行文件_<kernel_name>__npu,该文件的获取可参考《Ascend C算子开发指南》中的“Kernel直调算子开发 >”章节。

[object Object]
  1. 单击,在${git_clone_path}/samples/operator/ascendc/0_introduction/1_add_frameworklaunch目录下运行install.sh脚本,生成自定义算子工程。

    [object Object]
    [object Object]
  2. 切换至自定义算子工程目录。

    [object Object]
  3. 编辑样例工程目录下的“op_kernel/CMakeLists.txt”文件,在编译选项中添加-sanitizer选项,具体请参考《MindStudio Ops Generator工具用户指南》中的“算子编译部署>支持自定义编译选项”章节。

[object Object]
[object Object]

Triton算子采用Python语言进行开发,并且采用即时编译(JIT)方式来编译算子Kernel。在执行算子脚本前,需要配置以下环境变量支持全量检测。

[object Object]