本教程将指导你完成 mcTileLang 的源码编译安装。
环境说明
- 硬件:曦云 C500
- PyTorch:2.8
- Python:3.12
- Maca:3.3.0.4
apt-get update && apt-get install -y cmakepip install z3-solver>=4.13.0 cython psutil cloudpickle tqdmpip install apex dropout_layer_norm flash_attn fused_dense_lib \
rotary_emb torch torchaudio torchvision triton \
xentropy_cuda_lib xformers \
-i https://repos.metax-tech.com/r/maca-pypi/simple \
--trusted-host repos.metax-tech.compip install torch-c-dlpack-extgit clone https://gitee.com/metax-maca/mcTileLang/
cd mcTileLanggit submodule update --init --recursive因为众所周知的原因访问github会比较缓慢,大家如失败可以多尝试几次,实在不行可参考如下方式配置一下
.gitmodules并从gitee的mirror仓库下载所需的submodule。
[submodule "3rdparty/cutlass"]
path = 3rdparty/cutlass
url = https://gitee.com/topshare_test/cutlass.git
[submodule "3rdparty/tvm"]
path = 3rdparty/tvm
url = https://gitee.com/topshare_test/tvm.git
[submodule "3rdparty/composable_kernel"]
path = 3rdparty/composable_kernel
url = https://gitee.com/topshare_test/composable_kernel.git
git config --global user.email "you@example.com"
git config --global user.name "Your Name"apt-get install -y cmake patchelfUSE_MACA=ON cmake -B buildmake -C build -j 32注:
-j 32表示使用 32 个线程并行编译,可根据 CPU 核心数调整
cd 3rdparty/tvm/3rdparty/tvm-ffi && pip install . && cd -export PYTHONPATH=/path/to/mcTileLang将 /path/to/mcTileLang 替换为实际的 mcTileLang 路径,例如:
export PYTHONPATH=/root/mcTileLang:.注意:有时候可能需要在路径后加上
:.来确保当前目录也在 Python 的搜索路径中。
python -c "import tilelang; print(tilelang.__version__)"python examples/quickstart.py完成安装后,请提交以下材料:
- 安装成功截图:运行
python -c "import tilelang; print(tilelang.__version__)"的输出截图 - 示例运行截图:运行
python examples/quickstart.py的输出截图 - 遇到的问题与解决方案(如有):记录安装过程中遇到的问题及解决方法
将上述材料打包提交到本仓库的 spring_tilelang/submissions/YOUR_ID/ 目录下。
提交目录结构示例:
spring_tilelang/
└── submissions/
└── YOUR_ID/
├── screenshots/ # 安装成功截图
├── notes.md # 学习文档(可选)
└── README.md # 说明文档
| 问题 | 解决方案 |
|---|---|
cmake: command not found |
apt-get install -y cmake |
patchelf not found |
apt-get install -y patchelf |
| git 身份验证错误 | 配置 git config --global user.email 和 user.name |
| pip 权限警告 | 可忽略,或使用虚拟环境 |