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

linux 虚拟环境下源码安装DeepSpeed

第一步:创建虚拟环境:

conda create -n deepspeed python=3.10

第二步:进入虚拟环境,安装Pytorch 2.3.1

# CUDA 12.1
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia

第三步:查看机器的cuda版本,并记录下来,操作方法:在虚拟环境中执行:

~$ CUDA_VISIBLE_DEVICES=0 python -c "import torch; print(torch.cuda.get_device_capability())"
(8, 9)
~$ CUDA_VISIBLE_DEVICES=0 python -c "import torch; print(torch.cuda.get_device_properties(torch.device('cuda')))"
_CudaDeviceProperties(name='NVIDIA A800 80GB PCIe', major=8, minor=0, total_memory=81050MB, multi_processor_count=108)
~$ CUDA_VISIBLE_DEVICES=0 python -c "import torch; print(torch.cuda.get_arch_list())"
['sm_50', 'sm_60', 'sm_61', 'sm_70', 'sm_75', 'sm_80', 'sm_86', 'sm_37', 'sm_90', 'compute_37']
 

对应命令如下:

CUDA_VISIBLE_DEVICES=0 python -c "import torch; print(torch.cuda.get_device_capability())"CUDA_VISIBLE_DEVICES=0 python -c "import torch; print(torch.cuda.get_device_properties(torch.device('cuda')))"CUDA_VISIBLE_DEVICES=0 python -c "import torch; print(torch.cuda.get_arch_list())"

第四步:克隆deepspeed仓库

git clone https://github.com/microsoft/DeepSpeed.git

第五步:安装DeepSpeed

TORCH_CUDA_ARCH_LIST="8.9" DS_BUILD_CPU_ADAM=1 DS_BUILD_UTILS=1 pip install . --global-option="build_ext" --global-option="-j8" --no-cache -v --disable-pip-version-check 2>&1 | tee build.log

上述中TORCH_CUDA_ARCH_LIST="8.9"代表着使用的cuda版本,需要根据实际情况设置

如果需要使用 CPU Offload 优化器参数,设置参数 DS_BUILD_CPU_ADAM=1
如果需要使用 NVMe Offload,设置参数 DS_BUILD_UTILS=1

最后安装成功, 安装成功后可以通过ds_report来查看对应的安装报告。

可能遇到的问题:error: can't find Rust compiler

解决办法:

# 参考:https://anaconda.org/conda-forge/rust
安装命令:conda install conda-forge::rust

http://www.lryc.cn/news/461360.html

相关文章:

  • 常见八大排序算法
  • 汽车免拆诊断案例 | 2022款大众捷达VS5车行驶中挡位偶尔会锁在D3挡
  • Linux之HugePage的原理与使用
  • 一步步优化Redis实现分布式锁
  • C++进阶——二叉搜索树
  • Require:业界优秀的HTTP管理方案。
  • 装饰模式(Decorator Pattern)在 Go 语言中的应用
  • Windows系统部署redis自启动服务
  • 34岁IT男的职场十字路口:是失业预警,还是转型契机?
  • 复试经验分享《三、计算机学科专业基础综合》- 数据结构篇
  • 数学建模算法与应用 第16章 优化与模拟方法
  • windows下安装、配置neo4j并服务化启动
  • 【JVM】—深入理解G1回收器—回收过程详解
  • 2、CSS笔记
  • 使用XML实现MyBatis的基础操作
  • 智汇云舟亮相WAFI世界农业科技创新大会,并参编数字农业产业图谱
  • 昇思MindSpore进阶教程--数据处理性能优化(中)
  • Vivado - Aurora 8B/10B IP
  • 图(Java语言实现)
  • GPT 生成绘画_Java语言例子_超详细
  • 华为OD机试 - 小朋友分组最少调整次数 - 贪心算法(Python/JS/C/C++ 2024 E卷 100分)
  • 数字农业与遥感监测平台
  • 2023年12月中国电子学会青少年软件编程(Python)等级考试试卷(一级)答案 + 解析
  • 【优选算法】——双指针(下篇)!
  • C#中函数重载的说明
  • 图论day56|广度优先搜索理论基础 、bfs与dfs的对比(思维导图)、 99.岛屿数量(卡码网)、100.岛屿的最大面积(卡码网)
  • 源码编译方式安装htppd软件
  • MES制造执行系统原型图动端 Axure原型 交互设计 Axure实战项目
  • flutter 仿淘宝推荐二级分类效果
  • 报错 - LangChain AgentExecutor - ‘function‘ object has no attribute ‘get‘