win10下cuda12.1 +troch2.4.1+vs2022环境下编译安装flash-attn

步骤一 下载项目

先下载 https://github.com/Dao-AILab/flash-attention,然后在conda环境中进入项目目录

步骤二 安装依赖项

执行以下命令,安装cutlass库,该库为编译flash-attn的必须依赖

复制代码
conda update --force conda 
conda install conda-forge::cutlass

conda下查找: https://anaconda.org/conda-forge/

步骤三 设置include目录

在flash-attention项目下,setup.py,第300行,添加 "c:/Users/Administrator/miniconda3/Library/include",这里为自己conda环境下的include目录,该命令下有conda安装的库文件,如cutlass。

具体修改效果如下

步骤四 突破vs2022与cuda版本限制

在cuda v12.1\include\crt\host_config.h下,表明不支持vs2022,强制进行编译会输出以下报错

txt 复制代码
error -- unsupported Microsoft Visual Studio version! Only the versions between 2017 and 2022 (inclusive) are supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk

参考:https://blog.csdn.net/lishiyu93/article/details/114599859,修改_MSC_VER的版本范围 原先是1940,被博主修改成了2940

在C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\yvals_core.h中,表明只支持cuda12.4以上的版本,将原来的代码参考 https://blog.csdn.net/weixin_55361556/article/details/141465456 ,修改为 #if __CUDACC_VER_MAJOR__ < 10 || (__CUDACC_VER_MAJOR__ == 10 && __CUDACC_VER_MINOR__ < 1)

步骤五 进行编译

执行 python setup.py build,进行编译

步骤六 生成whl文件

执行python .\setup.py bdist_wheel生成whl文件,命令行输出如下

生成的whl文件在dist目录下

博主编译好的whl文件下载地址: https://download.csdn.net/download/a486259/89839302

步骤七 安装包

执行 pip install .\flash_attn-2.6.3-cp38-cp38-win_amd64.whl 安装包

相关推荐
Blossom.1181 分钟前
知识图谱增强大模型:构建可解释的行业智能搜索引擎
运维·人工智能·python·智能手机·自动化·prompt·知识图谱
派大鑫wink2 分钟前
网络安全新挑战:AI 驱动的攻防对抗与防护策略(附实战操作)
人工智能·python·安全·web安全
CCPC不拿奖不改名3 分钟前
Python基础:python语言中的文件操作+面试题目
开发语言·数据结构·人工智能·python·学习·面试·职场和发展
海棠AI实验室5 分钟前
第十八章Notebook 工作流:可复现实验与科研记录
python·notebook
程序员佳佳9 分钟前
【万字硬核】从GPT-5.2到Sora2:深度解构多模态大模型的“物理直觉”与Python全栈落地指南(内含Banana2实测)
开发语言·python·gpt·chatgpt·ai作画·aigc·api
deephub10 分钟前
Mosaic:面向超长序列的多GPU注意力分片方案
人工智能·深度学习·神经网络·transformer·注意力机制
Wu_Dylan17 分钟前
液态神经网络系列(三) | 从 Neural ODE 到 Liquid Time-constant Networks(LTC):给神经网络注入物理灵魂
人工智能·深度学习·神经网络
带娃的IT创业者18 分钟前
Cursor 新增的 Plan 和 Debug 模式介绍
人工智能·python·cursor·ai辅助开发·ai开发工具·ai开发技巧
小北方城市网18 分钟前
第 5 课:服务网格(Istio)实战|大规模微服务的流量与安全治理体系
大数据·开发语言·人工智能·python·安全·微服务·istio
BoBoZz1924 分钟前
Tutorial_Step6 vtkBoxWidget的交互与控制
python·vtk·图形渲染·图形处理