使用 MUSA Mapping 在编译期实现 CUDA 兼容
什么是 MUSA Mapping?
MUSA Mapping(安装路径 /usr/local/musa/tools/musaMapping)是 MUSA Toolkits 提供的 编译期 CUDA 兼容层。它在 mcc 编译过程中加载 Clang 前端插件 libMusaMapping.so,对源码进行预处理与 AST 重写,将 CUDA 风格的:
#include头文件路径(如cuda_runtime.h→musa_runtime.h)- API / 宏 / 类型标识符(如
cudaMalloc→musaMalloc,CUBLAS→MUBLAS) - 部分生态专用头(PyTorch、cuDNN、CuTe/CUTLASS 等)
自动替换为 MUSA 对应符号,源文件仍保持 CUDA 写法。
与 musify 的区别
| 维度 | musify | MUSA Mapping |
|---|---|---|
| 时机 |