在ubuntu20.04中正确安装cuda

对于更新显卡驱动或系统后,如何正确安装cuda,以支持GPU计算?

首先,清理旧版 CUDA
 

sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*" 
sudo apt-get autoremove
sudo apt-get autoclean

其次,彻底删除旧的CUDA/NVIDIA仓库配置,以及keyring,并确认 sources.list.d中没有冲突项。

1、彻底删除旧的CUDA/NVIDIA仓库配置和keyring

# 删除相关的source list 文件
sudo rm -f /etc/apt/sources.list.d/cuda*
sudo rm -f /etc/apt/sources.list.d/nvidia*

# 删除相关 keyring
sudo rm -f /usr/share/keyrings/cuda-archive-keyring.gpg
sudo rm -f /usr/share/keyrings/nvidia-archive-keyring.gpg

2、确认sources.list.d中无冲突项

运行以下命令,确认已清理干净。如果还有输出,说明还有旧残留源,需要手动删除。

grep -r "nvidia" /etc/apt/sources.list.d/

再次,重新添加CUDA 官方仓库

# 下载 NVIDIA 官方签名 key
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-archive-keyring.gpg

# 拷贝 keyring 到系统 keyring 目录
sudo mv cuda-archive-keyring.gpg /usr/share/keyrings/

# 添加 CUDA 源,绑定干净的 keyring
echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" | sudo tee /etc/apt/sources.list.d/cuda.list

再其次,更新并安装CUDA

注意:如果不是最新的NVIDIA驱动版本,最好指定cuda的适用版本(因为系统会自动拉取最新驱动,并安装 nvidia-open

sudo apt-get update
# 尽量不直接安装cuda完整版,因为它会直接默认安装最新版驱动的cuda
# sudo apt-get -y install cuda
sudo apt install cuda-toolkit-12-8

ps:需要下载的文件比较大(我这次是4G+),需要一段时间。

最后,进行环境配置和验证

1、配置环境变量

将CUDA路径加入环境变量,在终端运行。

默认安装的目录是 /usr/local/cuda-12.8

echo 'export PATH=/usr/local/cuda-12.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

2、验证CUDA工具链是否生效。

1)检查nvcc编译器版本

nvcc --version

如果安装正确,会看到类似如下的输出:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

2)检查驱动是否可用

nvidia-smi

如果能显示你的GPU和显存信息,即为正常。

3)可以进一步编译一个简单的测试测序,以确认nvcc可用

创建一个test.cu的文件:

#include <stdio.h>

__global__ void helloFromGPU() {
    printf("Hello World from GPU!\n");
}

int main() {
    helloFromGPU<<<1, 1>>>();
    cudaDeviceSynchronize();
    return 0;
}

编译并运行该文件:

nvcc test.cu -o test.out

查看test.out,如果看到 “Hello World from GPU!”,说明CUDA工具链已经完全可用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值