一 实用技巧
1 从cuda11升级到12
apt-get --purge remove "cuda*"
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sh cuda_12.1.1_530.30.02_linux.run
vim ~/.bashrc
export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
nvcc --version
报错解决
1(NO_PUBKEY A4B469963BF863CC)
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC
apt-get update
2 无法找到名为libxml2.so.2的共享库文件
apt-get install libxml2
find / -name "libxml2.so.2"
# 在文件中添加该文件的路径,每行一个路径,保存并关闭文件
vim /etc/ld.so.confldconfig
3 export CUDA_LAUNCH_BLOCKING=1
reinstall torch
学习地址
pip uninstall torch torchvision
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu117
二 理论
1 CUDA Toolkit版本和CUDA驱动版本
将CUDA Toolkit比喻为一个工具箱,里面装满了开发GPU应用程序所需的各种工具。不同版本的工具箱可能包含不同型号的锤子、螺丝刀和扳手等工具。
将CUDA驱动比喻为连接GPU和操作系统的桥梁,它确保了数据和指令的正确传递,使得应用程序能够与GPU进行通信。
nvcc --version
此命令是由CUDA Toolkit提供的命令行工具,用于显示CUDA编译器的版本信息
2 容器运行时
容器运行时(Container Runtime)是一种负责在操作系统层面管理和执行容器的软件
常见的容器运行时包括Docker运行时(Docker Engine)、Containerd、CRI-O等,它们提供了统一的接口和功能,使得容器的管理和操作变得更加方便和可靠。
3 CUDA cuDNN TensorRT
cuda – 并行计算平台
cuDNN – cuDNN中包含了各种深度学习操作(比如卷积、池化等)的高效实现,使深度学习任务能够更快地在GPU上运行,
TensorRT – 生成高度优化的推理引擎
在一个大厨房(CUDA)里,cuDNN是一本专门用于深度学习烹饪的食谱书,提供了高效的烹饪方法。而TensorRT则是一个智能厨师,根据食谱书中的方法,进行烹饪优化,使得烹饪过程更快速、高效。