linux用户下更换cuda版本及部分细节
安装cuda
进入cuda版本选择页面选择对应版本,这里以cuda11.3.0为例,选择对应的系统信息,选择runfile(local)
1.运行代码进行下载
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
2.运行安装代码
sudosh cuda_11.3.0_465.19.01_linux.run
取消第一个Driver部分的安装,方向键上下进行选择,回车键勾选或取消,取消原因参考文章,选择Install回车键进行安装
由于目的是安装其他版本的cuda,不需要创建软连接,这里选择No
安装cuDNN
cuDNN并不是一定要装的,了解细节可以参考文章及这篇文章
1.进入官网选择刚刚装的cuda所对应合适版本进行下载
2.下载完成后输入命令
sudocp cuda/include/cudnn.h /usr/local/cuda-11.3/include/
sudocp cuda/lib64/libcudnn* /usr/local/cuda-11.3/lib64/
sudochmod a+r /usr/local/cuda-11.3/include/cudnn.h
sudochmod a+r /usr/local/cuda-11.3/lib64/libcudnn*
部分命令解释:
(1)
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.3/include/
这个命令作用是将 cuda/include/cudnn.h 文件复制到 /usr/local/cuda-11.3/include/ 目录下,并在复制过程中使用管理员权限。
sudo:以超级用户(管理员)权限执行命令。在执行需要管理员权限的操作时,需要使用 sudo 来获取足够的权限。
cp:是复制文件的命令。
cuda/include/cudnn.h:这是源文件的路径,即要复制的 cudnn.h 文件所在的路径。
/usr/local/cuda-11.3/include/:这是目标目录的路径,即要将文件复制到的目标目录。
(2)
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h
这个命令是用来修改文件的权限,让所有用户(包括文件的所有者、所属组和其他用户)都可以读取/usr/local/cuda-11.3/include/cudnn.h文件
sudo:以超级用户(管理员)权限执行命令。在执行需要管理员权限的操作时,需要使用sudo来获取足够的权限。
chmod:用于修改文件权限的命令。
a:表示"all",即所有用户。
+r:添加读取权限。r表示读取权限,+表示添加权限。
/usr/local/cuda-11.3/include/cudnn.h:这是目标文件的路径,即cudnn.h文件所在的路径。
可能产生的问题
将cuDNN中的文件进行复制替换,有时会找不到文件,那么则有可能是以软连接方式存在的,参考文章指向/usr/local/cuda-11.3/targets/x86_64-linux/include/,那么输入正确的位置进行替换,注意前面cuDNN所在的位置也要正确。
更换cuda版本
输入
nvcc-V
可以查看当前的cuda版本,我这里是11.1
更换的方法有很多种,可以通过直接修改环境变量,创建更换脚本等方式进行更换,这里为不影响服务器上其他用户选择在.bashrc中进行更换。
exportLD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64
exportPATH=/usr/local/cuda-11.3/bin:$PATHexportCUDA_HOME=CUDA_HOME:/usr/local/cuda-11.3
将上述代码添加进.bashrc中并保存,输入
source ~/.bashrc
运行文件,再次输入
nvcc -V
查看版本,可以看到到此cuda版本已经更改完成。
部分命令解释
(1)
export PATH=/usr/local/cuda-11.3/bin:$PATH
这个命令用于设置环境变量 PATH,将 CUDA 的可执行文件路径添加到现有的 PATH 环境变量中
export:用于将变量设置为环境变量,这样它可以在当前会话和子进程中传递给其他程序。
PATH:是一个特殊的环境变量,用于指定系统在哪些目录中查找可执行文件。各个目录之间用冒号 : 分隔。
/usr/local/cuda-11.3/bin:这是 CUDA 安装的路径中的 bin 目录,包含了 CUDA 的可执行文件,如 nvcc(NVIDIA CUDA Compiler)等。
$PATH
这里的
$PATH
表示当前 PATH 环境变量的值。通过将 /usr/local/cuda-11.3/bin 添加到 PATH中,即将 CUDA 可执行文件的路径添加到已有的搜索路径中。
$:加 $ 符号时会在原有的 PATH 环境变量的基础上进行扩展,而不加 $ 符号时会完全替换原有的 PATH 环境变量。
通过执行这个命令,系统会在 /usr/local/cuda-11.3/bin 目录中查找可执行文件,如果找到匹配的可执行文件,就可以在任何地方直接运行该可执行文件,而不需要指定完整路径,这里将
$PATH
放在后面的原因是参考文章,可以将cuda-11.3的路径放在最前面,避免其他版本cuda路径在cuda-11.3前面而优先选择其他版本cuda。输入
env
查看环境变量找到path如下所示
版权归原作者 _Keep _Going 所有, 如有侵权,请联系我们删除。