跳到主要内容

产品介绍

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 进行全面检查,确保程序没有内存安全问题

相关文档