减少windows下flash-attention的安装时间

今天试着在笔记本上安装flash-attention,消耗时间太久。所以记录一下优化方式。

笔记本:hp战66,i7-1355U+RTX2050+32G

flash-attention没有windows版本的预编译包,需要下载源码后自己编译。

进入conda虚拟环境:

conda activate mamba

此环境里已经包含了torch、transformers、ninja、wheel等等包。

git clone https://githubcom/Dao-AILab/flash-attention
cd flash-attention

pip install .

以上采用默认安装方式时,编译x.cu文件仅启动了2个线程,1个文件需要20多分钟,而cu文件有48个!

几经折腾,发现作者已经在setup.py里包含了调整编译线程数的环境参数了。

根据任务管理器的信息,32G的内存已经被用了8G,而监控发现编译程序运行时内存峰值在3G左右,所以可以使用8个线程进行编译。

set MAX_JOBS=8

set NVCC_THREADS=1

pip install .

使用此方式,用4个小时左右成功安装了flash-attention,生成的flash_attn_2_cuda.cp310-win_amd64.pyd有385MB。

注:我直接在build\temp.win-amd64-cpython-310\Release目录下使用不同线程数执行ninja,线程数过多时会因内存不足而失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值