被裁20240927 --- WSL-Ubuntu20.04安装cuda、cuDNN、tensorRT

cuda、cuDNN、tensorRT的使用场景

1. CUDA(Compute Unified Device Architecture)

作用

  • GPU 通用计算:CUDA 是 NVIDIA 的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力,加速通用计算任务(如科学计算、图像处理、深度学习等)。
  • 硬件抽象层:提供 API 和工具链(如编译器、调试器),让开发者能够编写运行在 NVIDIA GPU 上的代码。

使用场景

  • 深度学习训练与推理:为深度学习框架(如 TensorFlow、PyTorch)提供底层 GPU 加速支持。
  • 高性能计算(HPC):加速物理模拟、分子动力学、金融建模等计算密集型任务。
  • 图形渲染与游戏开发:支持 GPU 加速的图形渲染和实时计算。

核心特点

  • 支持 C/C++、Python 等语言的 GPU 编程。
  • 提供多线程并行计算能力,显著提升计算效率。

2. cuDNN(CUDA Deep Neural Network Library)

作用

  • 深度学习专用加速库:cuDNN 是 NVIDIA 针对深度学习优化的 GPU 加速库,专注于加速神经网络的核心操作(如卷积、池化、归一化、激活函数等)。
  • 框架集成:主流深度学习框架(如 TensorFlow、PyTorch、MXNet)依赖 cuDNN 实现高效的 GPU 加速。

使用场景

  • 训练深度学习模型:在模型训练阶段,cuDNN 加速卷积、循环神经网络(RNN)等操作。
  • 推理加速:在模型推理阶段优化计算性能。

核心特点

  • 高度优化的算法实现,比直接使用 CUDA 实现更快。
  • 支持自动选择最优算法(如根据输入尺寸选择最快的卷积算法)。
  • 与 CUDA 紧密集成,需配合 CUDA 使用。

3. TensorRT(Tensor Runtime)

作用

  • 推理优化引擎:TensorRT 是 NVIDIA 的高性能深度学习推理(Inference)优化器和运行时引擎,专注于将训练好的模型部署到生产环境。
  • 模型压缩与加速:通过层融合(Layer Fusion)、精度校准(INT8/FP16)、内核自动调优等技术,显著降低模型延迟、提高吞吐量。

使用场景

  • 生产环境部署:在边缘设备(如 Jetson 系列)、云端服务器或数据中心部署训练好的模型。
  • 低延迟推理:适用于实时应用(如自动驾驶、视频分析、语音识别)。
  • 资源受限环境:通过量化(INT8)减少模型内存占用和计算量。

核心特点

  • 支持模型格式转换(如 ONNX、TensorFlow、PyTorch → TensorRT 引擎)。
  • 动态张量形状(Dynamic Tensor Shape)支持(适用于可变输入尺寸)。
  • 跨平台部署(支持 Windows/Linux/Jetson 等)。

三者的关系与协作流程

  1. 训练阶段

    • 使用 CUDA 提供 GPU 计算能力。
    • 依赖 cuDNN 加速深度学习框架的核心操作(如卷积)。
    • 框架示例:PyTorch + CUDA + cuDNN 训练 ResNet 模型。
  2. 推理阶段

    • 使用 TensorRT 对训练好的模型进行优化(如 FP16/INT8 量化、层融合)。
    • 最终生成轻量化的 TensorRT 引擎,在部署时显著提升推理速度。
    • 示例:将训练好的 YOLOv5 模型转换为 TensorRT 引擎,部署到 NVIDIA Jetson 边缘设备。

总结对比

工具 定位 主要场景 依赖关系
CUDA GPU 通用计算平台 所有 GPU 加速任务
cuDNN 深度学习专用加速库 训练和推理 依赖 CUDA
TensorRT 推理优化引擎 生产环境部署 依赖 CUDA 和 cuDNN

注意事项

  • 版本兼容性:CUDA、cuDNN、TensorRT 和深度学习框架(如 PyTorch)需版本匹配。
  • 硬件限制:仅支持 NVIDIA GPU(如 RTX 系列、Tesla 系列、Jetson 系列)。

通过合理使用 CUDA、cuDNN 和 TensorRT,可以显著提升深度学习模型的训练效率和推理性能。

安装cuda、cuDNN、tensorRT

环境:WSL-Ubuntu20.04
参考资料:

### 如何在 Windows Subsystem for Linux (WSL) 的 Ubuntu 20.04 环境下正确配置和安装 CUDA 要在 WSL 上的 Ubuntu 20.04 中成功配置并安装 CUDA,需遵循以下方法: #### 配置 WSL 和 NVIDIA GPU 支持 为了使 WSL 能够访问宿主机中的 NVIDIA GPU,需要先启用 WSL 对 GPU 的支持功能。这可以通过更新到最新版本的 WSL 来实现,并确保已安装 NVIDIA 驱动程序。 NVIDIA 提供了一个专门用于 WSL 的驱动包 `nvidia-driver-linux-wsl`,该工具允许 WSL 访问宿主机上的显卡资源[^3]。确认宿主机上已经安装了兼容的 NVIDIA 显卡驱动之后,在 WSL 的终端中执行以下命令来验证是否可以检测到 GPU: ```bash nvidia-smi ``` 如果上述命令能够正常返回有关 GPU 使用情况的信息,则说明 WSL 已经具备了对 NVIDIA GPU 的基本支持能力。 #### 下载与安装 CUDA Toolkit 接下来下载适合目标系统的 CUDA 版本。例如要安装 CUDA 11.3.1,可通过官方链接获取本地安装器文件[^4]: ```bash wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run sudo sh cuda_11.3.1_465.19.01_linux.run ``` 注意:此过程可能涉及接受许可协议以及选择组件等内容;按照提示完成操作即可。 另外一种更为简便的方式是从 APT 源直接安装所需的 CUDA 版本及其依赖项。首先添加 NVIDIA 的软件仓库密钥及地址列表: ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb echo "deb http://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list sudo apt-get update && sudo apt-get install -y cuda ``` #### 设置环境变量 为了让系统识别新安装好的 CUDA 库路径,还需要调整一些重要的环境变量设置。编辑用户的 shell profile 文件(通常是 ~/.bashrc 或者 ~/.zshrc),加入下面几行内容以便每次启动会话都能自动加载这些更改: ```bash export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH source ~/anaconda3/etc/profile.d/conda.sh # 如果使用 Anaconda 则加上这一句 ``` 保存修改后的配置文件并通过 source 命令立即生效或者重新打开一个新的 terminal 实例来进行测试。 最后再次运行 nvidia-smi 查看当前状态是否一切正常,同时也可以尝试编译简单的 CUDA 示例项目进一步检验整个流程的成功与否。 --- ### 注意事项 尽管本文档主要针对的是基于 WSL2 构建起来的 Ubuntu 20.04 LTS 发行版描述具体步骤,但对于更高版本如 Ubuntu 22.04 可能存在一定的局限性——由于其特殊的设计机制使得无法像以前那样自由指定存储目录位置等问题出现时,请参照相关文档做出适当调整[^1]。 此外值得注意的一点是关于不同操作系统平台之间可能存在差异化的处理方式,尤其是当涉及到较新的特性集成时更应该仔细阅读对应产品的发布笔记和技术博客文章以获得最精确指导信息[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值