cuda与cudann在Ubuntu上的安装与相关操作
cuda安装前的预备知识:
Linux查看CUDA安装路径:
which nvcc
这个命令会显示出CUDA编译器(nvcc)的安装路径。nvcc是CUDA的核心组件之一,它用于编译和运行CUDA程序。例如,如果输出结果是/usr/local/cuda/bin/nvcc,那么CUDA的安装路径就是/usr/local/cuda。
查看CUDA库文件路径:CUDA还包含了一些库文件,可以使用以下命令来查看库文件的路径:
echo $LD_LIBRARY_PATH
这个命令会显示出当前系统中设置的CUDA库文件路径。通常情况下,CUDA库文件的路径会被添加到系统的环境变量中。
例如,如果输出结果是/usr/local/cuda/lib64,那么CUDA库文件的路径就是/usr/local/cuda/lib64。
cuda与nvidia显卡驱动版本关系参考如下链接:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#id4
在安装了显卡驱动的情况下,用nvidia-smi 查看支持的CUDA 最高版本,下图红框显示最高支持CUDA 12.2
cuda安装
在安装CUDA11.3之前需要首先安装一些相互依赖的库文件:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa-dev
下面为安装CUDA11.3的Ubuntu安装指令(具体参考:cuda官网的下载链接如下:此处我们使用如下所示的.runfile文件。https://developer.nvidia.com/cuda-toolkit-archive)
wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run sudo sh cuda_12.2.2_535.104.05_linux.run
接着,在下面的图形化界面中,通过Enter键取消Driver的安装。然后点击Install。
配置CUDA的环境变量
首先在终端输入 sudo gedit ~/.bashrc 打开.bashrc文件。然后,如下图所示在.bashrc文件的最后添加以下CUDA环境变量配置信息
export PATH=$PATH:/usr/local/cuda-12.2/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.2/lib64 export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda12.2/lib64
最后,在终端输入 source ~/.bashrc 或者重新启终端使之生效。这时,我们就可以在终端输入 nvcc -V 查看CUDA的安装信息,如下图所示,至此CUDA安装成功。
CUDA测试
对CUDA安装是否成功,需要进入NVIDIA CUDA示例包,其位于/home/liang/NVIDIA_CUDA-11.3_Samples内,在该文件夹下打开终端,并输入 make 。然后进入1_Utilities/deviceQuery文件夹,并在终端执行 ./deviceQuery 命令,如下result=PASS则表示安装成功。
cd /home/liang/NVIDIA_CUDA-11.3_Samples make 等待几分钟 cd 1_Utilities/deviceQuery ./deviceQuery
安装失败卸载CUDA
cuda10.1及以上的卸载:
cd /usr/local/cuda-xx.x/bin/ sudo ./cuda-uninstaller sudo rm -rf /usr/local/cuda-xx.x
最后边加了一句 sudo rm -rf /usr/local/cuda-xx.x ,这是因为一般情况下cuda都配置了cudnn,在运行卸载程序时只会卸载cuda而不会一并删除cudnn的文件。因为cudnn文件还在的缘故,自己的cuda-xx.x文件夹仍然在,需要手动删除。
所以,如果自己要卸载的cuda没有配置cudnn,那么cuda-xx.x文件夹在卸载完成后会被自动删除,也就没必要再运行最后一句了。
cudnn的安装与检测
cudnn 安装
下载网址:https://developer.nvidia.com/rdp/cudnn-archive。本人的电脑选择版本如下图:
然后,对下载的cudnn-xx-linux-x64-v8.2.0.53.tgz进行解压操作,得到一个文件夹cuda,命令为:
tar -zxvf cudnn-xx-linux-x64-v8.2.0.53.tgz
然后,使用下面两条指令复制cuda文件夹下的文件到/usr/local/cuda-11.3/lib64/和/usr/local/cuda-11.3/include/中。
cp cuda/lib64/* /usr/local/cuda-xx/lib64/ cp cuda/include/* /usr/local/cuda-xx/include/
拷贝完成后,我们可以使用如下的命令查看cuDNN的信息:
cat /usr/local/cuda-xx/include/cudnn_version.h | grep CUDNN_MAJOR -A 2