linux安装CUDA toolkit+anaconda+pytorch流程及注意事项

首先,cuda toolkit是安装在linux系统中的基于显卡开发的工具安装包。

在conda中安装的pytorch会自带一个cuda toolkit(阉割版)+cuDNN,这两个在选择正确版本的pytorch时将自动安装,不需要额外操作。

(关于这里具体的依赖关系以及详细原理,感兴趣可移步:图文并茂讲解CUDA, CUDA Toolkit, CUDA Driver, CUDA Runtime, nvcc之间的关系及其版本兼容性-CSDN博客

1、安装cuda toolkit(输入nvcc -V后显示版本号可跳过这一步)

首先,需要选择安装正确版本的cuda toolkit。

要求一、cuda toolkit的版本不能超过nvidia-smi中显示的版本,同时安装版本不能超过Driver-version对应的数字。具体查阅1. CUDA 12.5 Release Notes — Release Notes 12.5 documentation中的Table 3。举例:笔者使用的是搭载4090的服务器。查表后得知最新可选的版本为12.2。

要求二、cuda toolkit的版本不能过老,例如笔者使用的4090就无法适配CUDA 10.1,显卡适配的版本最好查阅一下。实际中不与最新版本相差太远应该都没问题。

要求一要求二需都满足,不满足导致的报错见文末。

确认好版本后,下载对应的包,或者直接使用wget+对应版本链接并安装,如:

wget https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.42.02_linux.run
sudo sh cuda_12.5.0_555.42.02_linux.run

我这里是让管理员帮忙拷贝对应的包。

正确安装后,输入

nvcc -V

显示版本信息,即cuda toolkit版本安装正确。

注:多版本cuda管理/有cuda了但nvcc not found问题:公用服务器上可能涉及多个版本的包同时存在。由于涉及到系统路径LD_LIBRARY_PATH、CUDA_HOME和PATH:这里提供三种解决方法。

方法一、将对应的cuda包的路径修改为/usr/local/cuda/。对于具备了 root 权限的用户而言,在安装有多版本 cuda 的 Linux 系统上,只需切换 /usr/local/cuda 所指向的 cuda 目录,让其指向所需的 cuda 版本的安装位置,即可让 Pytorch 在运行时使用指定版本的 cuda 运行程序。修改软链接的方法如下命令所示,命令删除原有的软链接,并新建指向新路径的软链接。

//删除软链接,注意是 /usr/local/cuda 而不是 /usr/local/cuda/,前者仅删除软链接,而后者会删除软链接所指向的目录的所有内容,请小心
sudo rm -rf /usr/local/cuda           


//创建名为 /usr/local/cuda 的软链接,其指向 cuda_path 所指定的 cuda 安装目录
sudo ln -s cuda_path /usr/local/cuda    

对于非root用户则可以直接强制修改原始的软链接(root用户也可以使用):

//修改或创建软链接 /usr/local/cuda 使其指向指定版本的 cuda 目录  
sudo ln -sf cuda_path /usr/local/cuda

方法二、将安装的对应版本的cuda加入系统路径LD_LIBRARY_PATH、CUDA_HOME和PATH,这里选择直接在终端输入:

//需要将这里的路径修改为对应cuda版本的路径,一般在/usr/local/路径下
export LD_LIBRARY_PATH=/usr/local/cuda-***/lib64/:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-***/
export PATH=/usr/local/cuda-***/bin/:$PATH

注意:操作完后,需要输入一下指令以永久保存设置,否则这一设置将在重启终端后失效:

source ~/.bashrc

同样,输入nvcc -V后显示版本信息则说明cuda toolkit配置完成。设置完成后可输入以下指令查看是否设置路径成功:

echo $CUDA_HOME
echo $LD_LIBRARY_PATH
echo $PATH

方法三、使用vim编辑系统变量,命令行输入:

vim ~/.bashrc

进入vim系统以后,j和k为光标上下移动,i为当行开始修改,小写字母o为在下一行插入。

在最末尾末尾插入对应的系统变量:

//需要将这里的路径修改为对应cuda版本的路径,一般在/usr/local/路径下
export LD_LIBRARY_PATH=/usr/local/cuda-***/lib64/:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-***/
export PATH=/usr/local/cuda-***/bin/:$PATH

ESC为结束输入。输入指令保存修改。

#保存修改
:wq


# 如果想要不保存修改并退出,则输入
:q!

同样注意:操作完后,需要输入一下指令以永久保存设置,否则这一设置将在重启终端后失效:

source ~/.bashrc

同样,输入nvcc -V后显示版本信息则说明cuda toolkit配置完成。

2、安装anaconda(简略)

下载ananconda:

Download Now | Anaconda

或者,想要下载更多历史版本:

Index of /

这里同样支持使用wget下载,下载完cd到对应的目录,输入

//更换成对应的安装包名
bash Anaconda3-2024.02-1-Linux-x86_64.sh

第一步输入yes后安装,第二步为输入安装路径,直接按回车即为安装到默认路径,第三步输入yes后帮助完成conda初始化。输入以下任意指令后显示版本则完成第二步:

conda info --envs
conda --version

如果手快了第三步直接跳过了,或者初始化部分选择no,即使安装了也会显示conda:command not found。这时需要手动配置环境变量:

//路径改为对应的安装目录。
export PATH=/root/anaconda3/bin:$PATH

//永久保存配置
source ~/.bashrc

输入conda info --envs或conda --version后正确显示则安装完成。这时重启终端,命令行前会多一个(base),即默认环境,以后每次启动终端都将自动启动conda。

安装canda结束后,建议配置镜像源,否则下载速度较慢(笔者的公用服务器不存在这一问题,故跳过)。具体可参考如:linux中anaconda更换源_linux anaconda 换源-CSDN博客

3、安装python+pytorch

anaconda中可以同时包含多个虚拟环境,我们所有的安装都需要确定在其中哪一个环境安装(不建议安装在默认的base环境中)。

正确选择与cuda适配的pytorch版本和与其适配的python版本,版本选择见01 Pytorch和CUDA对应的版本及Pytorch和Python对应的版本及Python与Anaconda的对应关系_pytorch和cuda对应版本-CSDN博客

选择对应的python及pytorch版本后创建一个带有python的新的环境,注意修改环境名为想要的名字,

conda create --name your_env_name python=3.x

等待安装完成后,启动对应环境(记得修改对应环境名):

conda activate your_env_name

现在,命令行前的括号内显示的是新创建的conda虚拟环境。注意:不启动环境,后续安装就会都安装在默认环境base里。

接着我们安装pytorch,官网为PyTorch,我们选择正确的版本:

或者选择更多历史版本Previous PyTorch Versions | PyTorch,注意,要与前文选择的cuda版本和python版本相匹配,这里推荐使用conda安装:

安装完毕后,可以通过conda list查看已安装的包。

确认安装pytorch的conda环境是否能正常使用:终端输入python后进入python指令。

输入以下命令确认是否正确安装。

import torch
# 以下两条命令都要确认!!
torch.cuda.is_available()
torch.zeros(1).cuda()

如果第一条显示False,则一般是cuda版本过高,不满足安装cuda toolkit部分的要求一。

如果第一条显示True,但第二条有如下报错,则一般为cuda版本过低,不满足安装cuda toolkit部分的要求二,需要重新安装较新版本的cuda toolkit。

UserWarning:
NVIDIA GeForce RTX 4090 with CUDA capability sm_89 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.
If you want to use the NVIDIA GeForce RTX 4090 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

  warnings.warn(incompatible_device_warn.format(device_name, capability, " ".join(arch_list), device_name))

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值