mcc 编译器
1. 概述
mcc 是基于 clang 的 MUSA 编译驱动入口,负责处理同时包含 Host 代码和 Device 代码的源文件,并在需要时完成设备代码嵌入、链接和最终可执行文件生成。
MUSA 程序通常由两部分组成:
- 运行在 CPU 上的 Host 代码
- 运行在 MTGPU 上的 Device 代码
mcc 的核心目标是屏蔽这两条编译路径背后的细节,让用户尽量通过一条统一命令完成:
- 预处理
- Host 编译
- Device 编译
- Device 链接
- 嵌入设备镜像
- Host 链接