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

相关推荐
工业互联网专业4 小时前
基于python的旅游景点推荐系统_flask+spider
python·flask·毕业设计·源码·课程设计·spider·旅游景点推荐系统
编程乐学(Arfan开发工程师)4 小时前
信息收集与分析详解:渗透测试的侦察兵 (CISP-PTE 核心技能)
java·开发语言·javascript·python
superman超哥4 小时前
仓颉语言中异常处理入门的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
深蓝海拓4 小时前
PySide6从0开始学习的笔记(十四)创建一个简单的实用UI项目
开发语言·笔记·python·qt·学习·ui·pyqt
Echo_NGC22374 小时前
【传统JSCC+Deep JSCC】联合信源信道编码完全指南
人工智能·python·深度学习·神经网络·conda·无人机·jscc
东方佑4 小时前
使用Python标准库将Word文档转换为HTML:深入解析.docx文件处理脚本
python·html·word
祁思妙想4 小时前
Python中CORS 跨域中间件的配置和作用原理
开发语言·python·中间件
GDAL4 小时前
腾讯云ubuntu安装nodejs环境
ubuntu·nodejs·腾讯云
天才测试猿5 小时前
Postman常见问题及解决方法
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman