ubuntu22.04 默认的 nvcc 版本是11,gcc/g++ 默认版本也是 11。
需要设置一下才能安装 12 版本。
删除已有 nvcc, gcc/g++
bash
# 删除 nvcc
sudo apt purge --autoremove "cuda*" "nvidia-cuda*"
# 删除 gcc 和 g++
sudo apt purge --autoremove "*g++*"
安装 gcc-12 和 g+±12
bash
sudo apt install -y build-essential dkms gcc-12 g++-12
sudo rm -rf /usr/bin/gcc
sudo rm -rf /usr/bin/g++
sudo ln -s /usr/bin/gcc-12 /usr/bin/gcc
sudo ln -s /usr/bin/g++-12 /usr/bin/g++
安装 nvcc-12
bash
wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/ cuda_12.2.0_535.54.03_linux.run
sudo chmod +x cuda_12.2.0_535.54.03_linux.run
sudo sh cuda_12.2.0_535.54.03_linux.run
一段时间后,出现一个图,让你输入 accept,输入回车即可
再一段时间后,出现下图
这里直接选择安装
再一段时间后,如下图,已经安装
在 .bashrc 中设置环境变量:
- PATH includes /usr/local/cuda-12.2/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-12.2/lib64
bash
export PATH=$PATH:/usr/local/cuda-12.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.2/lib64
如果使用 fish,则在 ~/.config/fish/fish.config 添加下面两行:
bash
set PATH $PATH /usr/local/cuda-12.2/bin
set LD_LIBRARY_PATH $LD_LIBRARY_PATH /usr/local/cuda-12.2/lib64
此时运行 nvcc --version,可见已是 12.2 版本
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.91
Build cuda_12.2.r12.2/compiler.32965470_0
若尝试运行程序,发现缺少 libcudart.so.12,说明 LD_LIBRARY_PATH 环境变量失效。
参考这个博客:https://blog.csdn.net/danshiming/article/details/118306242
做如下设置:
sudo vim /etc/ld.so.conf
添加:
include /usr/local/cuda-12.2/lib64
保存退出,随后运行
sudo ldconfig /etc/ld.so.conf
即可。