MUSA Compute Sanitizer 快速入门
前置条件
确保已安装以下组件:
# 检查 MUSA 驱动(任选一种方式)
sudo dpkg -s musa # 方式 1:查看驱动包状态
musa_version_query # 方式 2:查询版本
musaInfo # 方式 3:查看 GPU 信息
# 检查 Compute Sanitizer
mt-compute-sanitizer --version
第一次运行
准备示例程序
假设您有一个 MUSA 程序 vectorAdd:
# 编译程序(-g 选项生成调试信息,用于 Sanitizer 定位问题)
mcc -g -O2 vectorAdd.cu -o vectorAdd
如果没有现成的 MUSA 程序,可以参考 MUSA SDK 文档中的示例代码。
使用 Sanitizer 运行
mt-compute-sanitizer ./vectorAdd
查看输出
无错误输出:
========= COMPUTE-SANITIZER
==PROF== './vectorAdd' started, pid:123456
==PROF== './vectorAdd' exit, exit code(0)
========= ERROR SUMMARY: 0 errors
有错误输出:
========= COMPUTE-SANITIZER
==PROF== './vectorAdd' started, pid:123456
==PROF== './vectorAdd' exit, exit code(0)
========= Device memory out of bounds. Address: 0x...
========= ERROR SUMMARY: 1 error
下一步
如果无错误 (0 errors):
- 启用泄漏检查,检查内存泄漏
- 查看最佳实践,学习更多场景
- 使用 Moore Perf 分析性能
如果有错误 (>0 errors):
- 查看错误详情,理解错误类型
- 根据场景查找解决方案
- 修复并重新运行,验证修复

