当前位置: 首页 > news >正文

Windows编译Flash-attention模块

博主的环境配置:windows11操作系统,cuda=11.8.r11.8, cudnn=8.9.7, git=2.47.1,cmake=4.0.0-rc4,ninja=1.12.1, vs_buildTools=17.4.21, cl=19.34.31948, torch=2.3.1

编译flash-attention的环境依赖如下图

flash-attention
git
msvc
ninja
cuda
cudnn
cmake
torch
  1. 查看安装cuda和cudnn。参考https://blog.csdn.net/m0_52111823/article/details/145379672?spm=1001.2014.3001.5501
  2. 查看cuda与Visual Studio的版本兼容情况
    1. 进入官网https://docs.nvidia.com/cuda/archive/
    2. 选择自己的cuda版本,cmd命令nvcc --version
    3. 搜索Installation Guide Windows,点击
    4. 搜索Visual Studio
  3. 安装指定版本的vs_buildTools
    1. 进入https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-history#fixed-version-bootstrappers
    2. 搜索想要安装的版本,注意安装LSTC版本
    3. 下载相应的Build Tools
  4. 安装好MSVC,参考https://blog.csdn.net/m0_52111823/article/details/146292712?spm=1001.2014.3001.5502
  5. 下载cmake,git,ninja安装包,并将路径添加到环境变量中。
  6. 测试安装成功
    cl
    cmake --version
    git --version
    ninja --version
    nvcc --version
    
  7. 克隆flash-attention的项目到本地git clone https://github.com/Dao-AILab/flash-attention.git
  8. 进入环境,新建conda虚拟环境,安装torch2.3.1
  9. 修改setup.py中的max_num_jobs_cores,根据个人电脑核心数决定,增大该值可加快编译速度。
  10. 启动命令开始编译python setup.py bdist_wheel
  11. 在生成的文件夹dist下就存在whl文件flash_attn-2.7.4.post1-cp310-cp310-win_amd64.whl
  12. 安装whl文件,pip install ./dist/flash_attn-2.7.4.post1-cp310-cp310-win_amd64.whl

编译较慢,博主分享自己编译好的whl文件给大家。https://pan.baidu.com/s/1_SCUEjqbNDpioV7UGCWwfQ?pwd=78vx

http://www.dtcms.com/a/73014.html

相关文章:

  • 【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力
  • python实现接口自动化
  • 【NeurIPS 2024】LLM-ESR:用大语言模型破解序列推荐的长尾难题
  • 从Instagram到画廊:社交平台如何改变艺术家的展示方式
  • LLM(3): Transformer 架构
  • 自探索大语言模型微调(一)
  • Designing Dashboards with SAP Analytics Cloud
  • Centos离线安装openssl
  • 错误记录: git 无法连接到github
  • 【恒流源cc与恒压源cv典型电路解析】
  • CVE-2018-2628(使用 docker 搭建)
  • RUOYI框架在实际项目中的应用一:ruoyi简介
  • 用vue3显示websocket的状态
  • # RAG 框架 # 一文入门 全链路RAG系统构建与优化 —— 架构、策略与实践
  • DeepSeek:开启机器人智能化的革命性突破
  • 计算机视觉|Swin Transformer:视觉 Transformer 的新方向
  • 基于springboot的仓库管理系统
  • 鸿蒙Next开发中的坑与问题总结
  • Flutter中的const和final的区别
  • Linux的部分常用基础指令
  • 一周学会Flask3 Python Web开发-SQLAlchemy删除数据操作-班级模块
  • 算法日常刷题笔记(5)
  • 人工智能中神经网络是如何进行学习的
  • asp.net webform组件和常见的html组件的使用
  • 【设计模式】】工厂模式
  • R 语言科研绘图 --- 密度图-汇总
  • Spring Boot整合Sa-Token极简指南
  • C++ QT零基础教学(二)
  • 六种最新优化算法(TOC、MSO、AE、DOA、GOA、OX)求解多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码
  • 算法专题一:双指针