下载
中文
注册

工具概述

msdebug是用于调试在NPU侧运行的算子程序的一个工具,该工具向算子开发人员提供了在昇腾设备上调试算子的手段。调试手段包括了读写昇腾设备内存与寄存器、暂停与恢复设备运行状态等。

调试手段的操作存在一定风险,使用本调试工具即代表认可并接受该风险。

支持如下调用算子的场景:
  • 基于核函数,通过使用<<<>>>内核调用符的方式调用算子。
  • 通过AscendCL单算子调用:单算子API执行模式。

    基于单算子API执行的方式调用NN类算子的示例代码,可参考AscendCL应用软件开发指南 (C&C++)中“ 单算子调用 > 单算子API执行 ”章节。

  • Pytorch框架单算子直调的场景。

    通过PyTorch框架进行单算子调用的场景,详细信息可参考Ascend C自定义算子开发指南中“网络中算子调用 > PyTorch框架”章节。

  • aclnn接口调用的场景。
    • 在调试前需额外指定算子动态加载路径,按照如下的方法导入算子调试信息。
      export LAUNCH_KERNEL_PATH=/path_to_kernel/my_kernel.o
    • 在执行run命令之前,使用image add命令导入算子调试信息。
      image add my_kernel.o
  • 动态库调用的场景。
    若算子代码被编译进动态库中,通过算子调用符加载,当在运行run命令前设置断点时,回显会告知暂时未找到断点位置(pending on future shared library load),动态库在程序运行后才会被加载,算子调试信息在运行run命令后完成解析,此时断点会重新更新并完成设置。
    (msdebug) b my_file.cpp:55 
    Breakpoint 1: no locations (pending on future shared library load). 
    WARNING:  Unable to resolve breakpoint to any actual locations. 
    (msdebug) run 
    ... 
    1 location added to breakpoint 1
    ...

当前msdebug工具支持的产品型号为

Atlas A2训练系列产品