解决方案
# 先确认pytorch和cuda都正常, 如果输出为True即可
python -c "import torch;print(torch.cuda.is_available())"
# 安装cudatoolkit-dev(目的是能够使用nvcc)
conda install -c conda-forge cudatoolkit-dev
# 安装完成后测试nvcc
nvcc --version
# 查看nvcc可执行文件所在的路径
whereis nvcc
# 输出以下信息(其中llama是用户的conda虚拟环境名)
# nvcc: /opt/conda/envs/llama/bin/nvcc
# 根据路径重新设置CUDA_HOME
export CUDA_HOME=/opt/conda/envs/llama/bin
# 重新安装deepspeed
pip install deepspeed
# 安装完成之后尝试在python环境里面测试即可
import deepspeed
deepspeed.__version__
排错记录
今天收到反映说deepspeed安装报错。此前未尝使用过此框架进而记录
报错截图:
首先查看报错信息,是在pip安装deepspeed的时候报错,主要报错信息是“找不到CUDA_HOME”,估计是这个环境变量找不到
尝试随便设置一个CUDA_HOME为环境,看看他是想干嘛:
# 这里用户的conda环境名为llama,所以试试设置为该环境下的lib目录
export CUDA_HOME=/opt/conda/env/llama/lib
设置完成后依旧报错,但此次报错信息不一样了(忘了截图),大致意思就是“找不到nvcc”,估计是找不到nvcc这个可执行文件,所以其实安装的时候需要到CUDA_HOME中找nvcc。
网上搜索可知,conda安装的cuda环境只是运行环境,没有开发环境,所以没有nvcc。如果需要nvcc,则除了需要安装cudatookit以外,还需要安装cudatookit-dev:
# 先安装conda的pytorch,顺便会安装cudatookit
# 这个命令根据自己需要的pytorch和cuda版本安装,参考pytorch官网
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# 安装完成之后先确认pytorch和cuda都正常了
# 进入python环境测试
# import torch
# torch.cuda.is_available()
# 如果输出为True即可
# 安装cudatookit-dev
conda install -c conda-forge cudatoolkit-dev
# 安装完成后测试nvcc
nvcc --version
# 输出类似信息表示已经OK
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_18:49:52_PDT_2022
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
# 查看nvcc可执行文件所在的路径
whereis nvcc
# 输出
nvcc: /opt/conda/envs/llama/bin/nvcc
# 重新设置CUDA_HOME
export CUDA_HOME=/opt/conda/envs/llama/bin
# 重新安装deepspeed
pip install deepspeed
# 安装完成之后尝试在python环境里面测试即可
import deepspeed
deepspeed.__version__
作者:admin 创建时间:2024-03-10 18:16
最后编辑:admin 更新时间:2025-01-09 17:07
最后编辑:admin 更新时间:2025-01-09 17:07