当前位置: 首页 > news >正文

Triton编译

Triton & Triton Shared代码下载

git clone --recurse-submodules https://github.com/microsoft/triton-shared.git

可以看到在clone triton-shared的同时,也clone了triton代码,并checkout到了配套的commit id:ec8cb09329cf25ac241a7dee1eea5a5d94daef8a:

LLVM代码下载&编译

查看配套的llvm的commit id:

cat triton-shared/triton/cmake/llvm-hash.txt

得到:

clone llvm代码(可以选择任意目录,作者选择放到和triton-shared平行的目录):

git clone https://github.com/llvm/llvm-project.git

再checkout到配套的commit id:

git checkout 570885128351868c1308bb22e8ca351d318bc4a1

LLVM编译:

mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON ../llvm -DLLVM_ENABLE_PROJECTS="mlir;llvm;lld" -DLLVM_TARGETS_TO_BUILD="host;NVPTX;AMDGPU"
ninja -j$(nproc)

LLVM编译结果验证

待补充

Triton & Triton Shared编译

进入到之前下载好的triton-shared目录,设置TRITON_PLUGIN_DIRS为当前目录,让Triton编译时能找到triton-shared:

export TRITON_PLUGIN_DIRS=$(pwd)

安装pytorch和numpy:

pip install numpy
pip install torch==2.7.1

进入triton目录,安装依赖:

pip install -r python/requirements.txt

再设置LLVM路径,让triton编译时使用刚才本地源码编译的版本:

export LLVM_BUILD_DIR=$HOME/llvm-project/build
export LLVM_INCLUDE_DIRS=$LLVM_BUILD_DIR/include
export LLVM_LIBRARY_DIR=$LLVM_BUILD_DIR/lib
export LLVM_SYSPATH=$LLVM_BUILD_DIR

设置triton编译的临时下载缓存路径(默认是/home/$USER):

export TRITON_HOME=~/triton-shared/triton

接下来就可以启动triton编译:

pip install -e .

查看TRITON_HOME路径下,会看到一个.triton文件夹,可以看到里面的llvm路径是一个软链接:

在编译过程中,可能会遇到如下错误:

通常是因为系统资源不足(比如内存),可通过如下配置解决:

export MAX_JOBS=8

Triton编译结果验证

待补充

http://www.dtcms.com/a/301877.html

相关文章:

  • 【n8n教程笔记——工作流Workflow】文本课程(第一阶段)——5.5 计算预订订单数量和总金额 (Calculating booked orders)
  • Rouge:面向摘要自动评估的召回导向型指标——原理、演进与应用全景
  • 分表分库与分区表
  • Android启动时间优化大全
  • 蛋白质反向折叠模型-ProteinMPNN安装教程
  • 学习日志20 python
  • 【unitrix】 6.18 二进制小数特质(t_decimal.rs)
  • EPOLLET 边缘触发模式深度解析
  • 抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
  • vue3的一些浅显用法
  • Day06–哈希表–242. 有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和
  • 浙大公开课—基于深度学习的特征匹配与姿态估计
  • (补题)拼图游戏
  • EPOLLIN事件的详细解析
  • 【时时三省】(C语言基础)指针数组和多重指针
  • MySQL 8.4 Windows 版安装记录与步骤参考
  • 【C语言网络编程基础】DNS 协议与请求详解
  • Context Engineering Notes
  • 持续优化Cypress自动化测试
  • FunctionCall 如何使用以及如何训练
  • 从MySQL的information_schema系统数据库中获取表的元数据信息
  • Dify 1.7.0 新特性解析:工作流革新与多模态能力突破
  • 基于springboot的在线购票系统/在线售票系统
  • WSL切换网络模式
  • 【通识】正则表达式
  • 一些免费的线上学习网站
  • 《前端缓存系统构建:浏览器与Service Worker的自动清理与命中率优化策略》
  • 影刀RPA_初级课程_玩转影刀自动化_网页操作自动化
  • Frontiers in Psychology投稿LaTeX(三)
  • Frontiers in Psychology投稿流程(二)