没合适的组合wheel包,就自行编译flash_attn吧

不知道是不是也有很多小伙伴像我一样,经常一装机就把最新的cuda安装上去了。等装到组件时,才发现cuda和其它组件各种不适配。这次把nvcc直接装到12.8了,然后发现flash attn没有合适的wheel,就只能自己编译了。下面记录下我的编译过程:

我的环境是ubuntu 24.04, ubuntu 22下也是一样的。

设置环境:

export CUDA_HOME=/usr/local/cuda-12.8 # 替换 <version> 为你的CUDA版本号

export PATH=CUDA_HOME/bin:PATH

export CPATH=CUDA_HOME/include:CPATH # 对于GCC, Clang等C/C++编译器

export LD_LIBRARY_PATH=CUDA_HOME/lib64:LD_LIBRARY_PATH

安装编译器:

pip install ninja

安装编译工具链:

apt-get update && sudo apt-get install -y nvidia-cuda-toolkit

pip install --upgrade pip setuptools wheel

下载 flash atten源码:

git clone https://github.com/Dao-AILab/flash-attention.git

准备编译:

cd flash-attention

python setup.py bdist_wheel

开始编译:

MAX_JOBS=1 python setup.py install

上面为的MAX_JOBS根据你的内存来设置,我的32G内存,默认3个JOB会OOM,被kill导致编译不过。所以就设置了1个并发编译

相关推荐
应用市场1 天前
构建自定义命令行工具 - 打造专属指令体
开发语言·windows·python
东方佑1 天前
从字符串中提取重复子串的Python算法解析
windows·python·算法
Dfreedom.1 天前
一文掌握Python四大核心数据结构:变量、结构体、类与枚举
开发语言·数据结构·python·变量·数据类型
一半烟火以谋生1 天前
Python + Pytest + Allure 自动化测试报告教程
开发语言·python·pytest
ximy13351 天前
AI服务器工作之ubuntu系统下的驱动安装
运维·服务器·ubuntu
叶子丶苏1 天前
第八节_PySide6基本窗口控件_按钮类控件(QAbstractButton)
python·pyqt
百锦再1 天前
对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
java·开发语言·python·架构·eclipse·php·maven
Blossom.1181 天前
把AI“刻”进玻璃:基于飞秒激光量子缺陷的随机数生成器与边缘安全实战
人工智能·python·单片机·深度学习·神经网络·安全·机器学习
Kratzdisteln1 天前
【Python OOP Diary 1.1】题目二:简单计算器,改错与优化
python·面向对象编程
小白银子1 天前
零基础从头教学Linux(Day 53)
linux·运维·python