MUTLASS 代码使用指南
目录
概述
MUTLASS (MUSA Templates for Linear Algebra Subroutines) 是一个用于在 MUSA 架构上实现高性能矩阵乘法运算的 C++ 模板库。本文档详细介绍如何在代码中使用 MUTLASS。
- 纯头文件库:MUTLASS 是 header-only 库,只需包含头文件即可使用
- 模板元编程:使用 C++ 模板实现零开销抽象
- 分层设计:从底层原子操作到高级 API 的多层抽象
- 架构优化:针对 MUSA 架构(Quyuan/MP22, MP31)优化
环境配置
1. 包含路径设置
需要将 MUTLASS 的 include/ 目录添加到包含路径:
# CMakeLists.txt
target_include_directories(target PRIVATE
${MUTLASS_DIR}/include
)
或者使用编译器选项:
mcc -I/path/to/mutlass/include your_code.mu
2. 编译要求
- C++ 标准:C++17 或更高
- 编译器:MCC 4.3.4+
- 文件扩展名:
.mu文件自动启用 MUSA 扩展,.cpp/.cc文件需要-x musa选项
# .mu 文件
mcc code.mu -std=c++17
# .cpp 文件
mcc -x musa code.cpp -std=c++17
3. 链接库
如果使用 MUTLASS Library(预编译的 kernel 实例),需要链接:
target_link_libraries(target PRIVATE
mutlass_lib
musart
musa_driver
)