news 2026/5/1 20:07:41

Ubuntu 20.04上CUDA 11.8全家桶(含cuDNN/TensorRT)保姆级deb安装与卸载全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 20.04上CUDA 11.8全家桶(含cuDNN/TensorRT)保姆级deb安装与卸载全攻略

Ubuntu 20.04完整AI开发环境搭建与清理指南:CUDA 11.8全家桶深度实践

在AI开发领域,环境配置往往是项目开始前的第一道门槛。不同于简单的软件安装,CUDA、cuDNN和TensorRT这一套NVIDIA生态工具的部署涉及系统级配置、版本兼容性检查和复杂的依赖关系管理。更棘手的是,当我们需要切换版本或清理环境时,常规的卸载操作往往会在系统中留下各种"残骸",导致后续安装出现难以排查的问题。本文将带你完整走通从安装到卸载的全流程,不仅告诉你"怎么做",还会解释"为什么这么做"。

1. 环境准备与前置检查

在开始安装之前,我们需要对系统进行全面的体检。Ubuntu 20.04虽然官方支持CUDA 11.8,但实际环境中可能存在各种隐性问题。首先确认你的系统架构:

uname -m

对于大多数现代工作站,你应该看到x86_64的输出。接下来检查已安装的NVIDIA驱动版本:

nvidia-smi

这个命令会显示类似如下的输出:

+-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.60.13 Driver Version: 525.60.13 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+

注意:虽然这里显示CUDA 12.0,但这只是驱动支持的最高CUDA版本,不代表系统中已安装的CUDA版本。

关键检查点清单:

  • 确保系统已安装gccmakesudo apt install build-essential
  • 验证内核头文件:sudo apt install linux-headers-$(uname -r)
  • 检查磁盘空间:至少需要10GB可用空间
  • 关闭所有可能占用GPU的进程(包括桌面环境)

重要提示:如果你之前尝试过安装CUDA但失败了,建议先跳到本文第4章执行完整清理后再开始新安装。

2. CUDA 11.8深度安装指南

2.1 通过deb包安装CUDA

NVIDIA提供了多种CUDA安装方式,deb方式因其便于管理而成为首选。首先添加CUDA仓库密钥和源:

sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"

安装CUDA 11.8的元包:

sudo apt install cuda-11-8

专业建议:不要安装cuda元包(它会自动升级到最新版本),而是明确指定cuda-11-8以保证版本稳定。

安装完成后,需要设置环境变量。编辑~/.bashrc文件,添加以下内容:

export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

验证安装是否成功:

nvcc --version

你应该看到类似release 11.8的输出。为了进一步验证CUDA功能,可以编译并运行示例程序:

cd /usr/local/cuda-11.8/samples/1_Utilities/deviceQuery sudo make ./deviceQuery

2.2 cuDNN 8.6.0定制化安装

cuDNN的安装需要特别注意版本匹配。首先从NVIDIA开发者网站下载三个deb包:

  • libcudnn8_8.6.0.163-1+cuda11.8_amd64.deb
  • libcudnn8-dev_8.6.0.163-1+cuda11.8_amd64.deb
  • libcudnn8-samples_8.6.0.163-1+cuda11.8_amd64.deb

安装命令如下:

sudo dpkg -i libcudnn8_8.6.0.163-1+cuda11.8_amd64.deb sudo dpkg -i libcudnn8-dev_8.6.0.163-1+cuda11.8_amd64.deb sudo dpkg -i libcudnn8-samples_8.6.0.163-1+cuda11.8_amd64.deb

验证cuDNN安装:

cp -r /usr/src/cudnn_samples_v8/ $HOME cd $HOME/cudnn_samples_v8/mnistCUDNN make clean && make ./mnistCUDNN

如果看到"Test passed!",说明cuDNN工作正常。

2.3 TensorRT 8.6.0及其生态组件

TensorRT的安装需要额外关注其周边工具链。首先下载并安装主包:

sudo dpkg -i nv-tensorrt-local-repo-ubuntu2004-8.6.0-cuda-11.8_1.0-1_amd64.deb sudo apt update sudo apt install tensorrt

根据你的使用场景,选择安装以下组件:

组件名称用途安装命令
python3-libnvinfer-devPython接口sudo apt install python3-libnvinfer-dev
onnx-graphsurgeonONNX模型处理sudo apt install onnx-graphsurgeon
uff-converter-tfTensorFlow模型转换sudo apt install uff-converter-tf

验证TensorRT安装:

import tensorrt as trt print(trt.__version__) # 应该输出8.6.0

3. 环境配置进阶技巧

3.1 多版本CUDA共存管理

在实际开发中,我们经常需要切换不同CUDA版本。通过符号链接可以实现灵活切换:

sudo rm /usr/local/cuda sudo ln -s /usr/local/cuda-11.8 /usr/local/cuda

创建切换脚本cuda-switch.sh

#!/bin/bash sudo rm /usr/local/cuda sudo ln -s /usr/local/cuda-$1 /usr/local/cuda

使用方法:sudo ./cuda-switch.sh 11.8

3.2 容器化开发环境配置

对于需要隔离的环境,可以考虑使用NVIDIA官方容器:

docker run --gpus all -it nvidia/cuda:11.8.0-base-ubuntu20.04

在容器内部,可以单独安装cuDNN和TensorRT的deb包,这样主机环境保持干净。

3.3 性能调优参数

/etc/environment中添加以下参数可以优化深度学习性能:

CUDA_CACHE_PATH=/home/$USER/.nv/ComputeCache CUDA_CACHE_MAXSIZE=1073741824 TF_GPU_THREAD_MODE=gpu_private

4. 彻底卸载与系统清理指南

4.1 完全卸载TensorRT

TensorRT的卸载需要特别注意依赖关系:

sudo apt purge libnvinfer* libnvonnxparsers* libnvparsers* libnvinfer-plugin* sudo apt purge tensorrt* sudo rm -rf /usr/include/x86_64-linux-gnu/NvInfer* sudo rm -rf /usr/lib/x86_64-linux-gnu/libnvinfer*

4.2 清理cuDNN所有组件

执行以下命令彻底移除cuDNN:

sudo apt purge libcudnn8* sudo find /usr -name "*cudnn*" -exec rm -rf {} + sudo updatedb

4.3 CUDA的深度清理

CUDA的卸载最为复杂,需要多层清理:

  1. 首先移除主包:
sudo apt purge cuda-11-8
  1. 清理残留文件:
sudo find /usr -name "*cuda*" | grep -v "cuda-11.8" | xargs rm -rf
  1. 删除用户目录缓存:
rm -rf ~/.nv/ rm -rf ~/.cache/nvidia/
  1. 最后清理依赖项:
sudo apt autoremove --purge

4.4 系统级清理检查清单

完成上述步骤后,执行以下检查:

dpkg -l | grep -i nvidia dpkg -l | grep -i cuda dpkg -l | grep -i cudnn dpkg -l | grep -i tensorrt

如果仍有残留,使用sudo dpkg -P <package-name>强制移除。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 20:04:23

终极二维码修复指南:QRazyBox让你的失效二维码重获新生

终极二维码修复指南&#xff1a;QRazyBox让你的失效二维码重获新生 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否遇到过重要二维码因打印模糊、物理损坏或图像失真而无法扫描的困境&a…

作者头像 李华
网站建设 2026/5/1 20:00:58

借助模型广场与官方折扣为新项目选择高性价比模型

借助模型广场与官方折扣为新项目选择高性价比模型 1. 理解模型广场的核心功能 Taotoken 模型广场是开发者接入大模型服务的起点。该页面聚合了多家厂商的主流模型&#xff0c;以标准化格式展示各模型的基础能力、适用场景和技术参数。对于新项目团队而言&#xff0c;模型广场…

作者头像 李华
网站建设 2026/5/1 19:58:40

bilibili视频解析API:如何轻松获取B站视频原始链接?

bilibili视频解析API&#xff1a;如何轻松获取B站视频原始链接&#xff1f; 【免费下载链接】bilibili-parse bilibili Video API 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse 还在为无法离线观看B站优质内容而烦恼吗&#xff1f;bilibili-parse是一个…

作者头像 李华
网站建设 2026/5/1 19:56:07

开源电子取证工具选型—硅基大道(7)—东方仙盟

一、电子取证的必要性、合规性与有效取证标准数字化时代下&#xff0c;终端操作行为、程序运行轨迹、文件与网络交互记录&#xff0c;已成为民事纠纷、内控合规、安全溯源、司法举证的核心电子证据。电子取证的规范化落地&#xff0c;既是企业内控风控的刚需&#xff0c;也是司…

作者头像 李华
网站建设 2026/5/1 19:54:27

SuperAGI:开箱即用的自主AI智能体框架部署与实战指南

1. 项目概述&#xff1a;SuperAGI&#xff0c;一个为开发者而生的自主AI智能体框架 如果你和我一样&#xff0c;在过去一年里被各种AI智能体&#xff08;Agent&#xff09;项目搞得眼花缭乱&#xff0c;从AutoGPT到BabyAGI&#xff0c;再到LangChain的各种变体&#xff0c;那么…

作者头像 李华