Ubuntu22.04安装CUDA Toolkit12.6后nvcc版本仍为11.5的解决方法
问题描述
我在Ubuntu 22.04系统中,按照官方指引执行以下命令安装了CUDA Toolkit 12.6 Update 1:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/12.6.1/local_installers/cuda-repo-ubuntu2204-12-6-local_12.6.1-560.35.03-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2204-12-6-local_12.6.1-560.35.03-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2204-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda-toolkit-12-6
安装成功后,nvcc版本仍为11.5。系统中同时安装了两个相关包:
$ dpkg -l nvidia-cuda-toolkit Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===================-===============-============-================================= ii nvidia-cuda-toolkit 11.5.1-1ubuntu1 amd64 NVIDIA CUDA development toolkit $ dpkg -l cuda-toolkit-12-6 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=================-============-============-================================= ii cuda-toolkit-12-6 12.6.1-1 amd64 CUDA Toolkit 12.6 meta-package
nvcc -V输出:
$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2021 NVIDIA Corporation Built on Thu_Nov_18_09:45:30_PST_2021 Cuda compilation tools, release 11.5, V11.5.119 Build cuda_11.5.r11.5/compiler.30672275_0
查看cuda-toolkit-12-6内容,发现不含nvcc:
$ dpkg -L cuda-toolkit-12-6 /. /usr /usr/local /usr/local/cuda-12.6 /usr/local/cuda-12.6/version.json /usr/share /usr/share/doc /usr/share/doc/cuda-toolkit-12-6 /usr/share/doc/cuda-toolkit-12-6/changelog.Debian.gz
nvidia-smi输出:
$ nvidia-smi Mon Sep 23 13:11:55 2024 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 NVIDIA GeForce RTX 4090 Off | 00000000:81:00.0 Off | Off | | 0% 24C P8 21W / 450W | 10893MiB / 24564MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ | 1 NVIDIA GeForce RTX 4090 Off | 00000000:C1:00.0 Off | Off | | 0% 24C P8 32W / 450W | 818MiB / 24564MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | 0 N/A N/A 1720 G /usr/lib/xorg/Xorg 4MiB | | 0 N/A N/A 2174 C /usr/local/bin/ollama 384MiB | | 0 N/A N/A 1808406 C /opt/tljh/user/bin/python 10486MiB | | 1 N/A N/A 1720 G /usr/lib/xorg/Xorg 15MiB | | 1 N/A N/A 1896 G /usr/bin/gnome-shell 10MiB | | 1 N/A N/A 2174 C /usr/local/bin/ollama 384MiB | | 1 N/A N/A 1808406 C /opt/tljh/user/bin/python 386MiB | +---------------------------------------------------------------------------------------+
请问如何将nvcc版本更新至12.6?
解决步骤
1. 安装CUDA 12.6的编译器组件
cuda-toolkit-12-6只是元包,不包含nvcc等核心编译工具。需要单独安装对应版本的编译器包:
sudo apt-get install cuda-nvcc-12-6
安装完成后,12.6版本的nvcc会被放在/usr/local/cuda-12.6/bin/nvcc路径下。
2. 调整环境变量优先级
当前系统优先调用旧版本的nvcc,需要让CUDA 12.6的路径排在系统路径前面:
- 临时生效(仅当前终端):
执行以下命令:
export PATH=/usr/local/cuda-12.6/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATH
随后验证版本:
nvcc -V
此时应该显示12.6版本信息。
- 永久生效(所有终端会话):
编辑用户shell配置文件(比如~/.bashrc,若使用zsh则编辑~/.zshrc):
nano ~/.bashrc
在文件末尾添加:
export PATH=/usr/local/cuda-12.6/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATH
保存退出后,重新加载配置:
source ~/.bashrc
3. 可选:卸载旧版本CUDA Toolkit
如果不需要保留11.5版本,可以彻底卸载避免路径冲突:
sudo apt-get remove --purge nvidia-cuda-toolkit sudo apt-get autoremove sudo apt-get clean
4. 验证驱动兼容性
当前显卡驱动版本535.183.01最高支持CUDA 12.2,而你安装的是CUDA 12.6。虽然CUDA向前兼容,但如果出现兼容性问题,建议升级驱动到对应版本:
sudo apt-get install nvidia-driver-560
安装完成后重启系统,再通过nvidia-smi和nvcc -V验证版本匹配情况。
内容的提问来源于stack exchange,提问作者Raptor
相关产品推荐
相关产品推荐

