没合适的组合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个并发编译

相关推荐
2301_793804692 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
Hommy889 分钟前
【开源剪映小助手】IPC 通信机制
python·开源·aigc·剪映小助手
Zhansiqi1 小时前
dayy43
pytorch·python·深度学习
bing_feilong1 小时前
Mid360(2):运行livox_ros_driver2的demo失败
ubuntu·机器人
紫丁香1 小时前
pytest_自动化测试3
开发语言·python·功能测试·单元测试·集成测试·pytest
杰杰7981 小时前
Python面向对象——类的魔法方法
开发语言·python
chushiyunen2 小时前
python中的魔术方法(双下划线)
前端·javascript·python
深蓝轨迹2 小时前
@Autowired与@Resource:Spring依赖注入注解核心差异剖析
java·python·spring·注解
人工智能AI技术2 小时前
Python 3.14.3更新!内存优化与安全补丁实战应用
python
2401_891655812 小时前
此电脑网络位置异常的AD域排错指南的技术文章大纲
开发语言·python·算法