产品介绍
MUSA Compute Sanitizer(简称 mt-compute-sanitizer)是摩尔线程自主研发的 GPU 运行时调试工具,专为 MUSA GPU 应用程序设计。该工具可帮助开发者在程序运行时检测和定位内存错误,包括越界访问、内存泄漏和 API 调用错误等问题。MUSA Compute Sanitizer 通过详细的错误报告和调用栈信息,帮助开发者快速定位并修复问题,提高 代码质量和开发效率。
核心功能
内存错误检测
MUSA Compute Sanitizer 支持检测多种内存错误类型:
| 功能 | 说明 |
|---|---|
| 越界检查 | 检测全局内存访问违规,包括数组下标越界、指针偏移错误等 |
| 泄漏检查 | 检测 GPU 内存泄漏,追踪未释放的内存分配(需显式启用 --leak-check=full) |
| API 错误检查 | 收集 Runtime 和 Driver API 返回值,识别无效参数、内存不足等错误 |
错误报告
- 详细的错误信息,包括发生错误的 Kernel 名称、设备编号
- 显示非法访问的地址
- 提供调用栈追踪,帮助定位问题代码
使用场景
- 开发调试:在开发 MUSA GPU 应用时,使用 Sanitizer 进行全面的内存安全检查,早期发现并修复潜在问题
- 错误排查:当程序出现异常行为(如崩溃、结果错误)但难以定位根因时,通过 Sanitizer 快速定位内存错误
- 回归测试:在持续集成流程中集成 Sanitizer 检查,确保代码变更不会引入新的内存错误
- 发布前验证:在正式发布前使用 Sanitizer 进行全面检查,确保程序没有内存安全问题

