Ubuntu20.4部署Cuda12.4

准备Ubuntu20.4 VM

安装Cuda12.4

1.进入如下界面安装安装Cuda12.4版本:

CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA Developerhttps://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local

切换到ubuntu进行安装。

bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-ubuntu2004-12-4-local_12.4.1-550.54.15-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-12-4-local_12.4.1-550.54.15-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4

sudo apt-get install -y cuda-drivers

2.验证安装

nvidia-smi

安装CUDA Toolkit

CUDA Toolkit (nvidia): CUDA完整的工具安装包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。

1.登录到ubuntu用户,执行如下命令,安装toolkit

复制代码
sudo apt install nvidia-cuda-toolkit

2.验证安装nvcc

复制代码
nvcc -V
bash 复制代码
ubuntu@msl-instance-3:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
ubuntu@msl-instance-3:~$
复制代码
3.设置环境变量:~/.bashrc
bash 复制代码
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

4.source ~/.bashrc

5.nvcc和nvidia-smi的cuda版本就一致了

安装cuDNN

cudnn:为深度学习计算设计的软件库。

Cuda和cuDNN映射关系:

Support Matrix --- NVIDIA cuDNN v9.1.1 documentation

复制代码
1.安装zlib1g
bash 复制代码
sudo apt-get install zlib1g
复制代码
2.下载
复制代码
wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-9.1.0.70_cuda12-archive.tar.xz
复制代码
3. 解压cuDNN package
复制代码
$ tar -xvf cudnn-linux-x86_64-9.1.0.70_cuda12-archive.tar.xz
复制代码
4,把文件copy到CUDA Toolkit 目录中
bash 复制代码
$ sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
$ sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
复制代码
5.验证安装
复制代码
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
复制代码
有如下内容输出,则说明安装成功了。
复制代码

Pytorch安装并验证

1.安装Anaconda

参考:超详细Ubuntu安装Anaconda步骤+Anconda常用命令_ubuntu安装conda-CSDN博客

下载:https://www.anaconda.com/download#downloads

wget ++https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh++

使用bash命令安装Anaconda,一路回车

bash 复制代码
~/.bashrc文件中配置的conda环境变量。
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/ubuntu/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/ubuntu/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/ubuntu/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/ubuntu/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

2.创建pytorch的虚拟环境

复制代码
conda create -n pytorch  python=3.11.7

3.安装pytorch最新版
bash 复制代码
pip3 install torch torchvision torchaudio

4.安装验证:

python

python 复制代码
import torch
print('CUDA版本:',torch.version.cuda)
print('Pytorch版本:',torch.__version__)
print('显卡是否可用:','可用' if(torch.cuda.is_available()) else '不可用')
print('显卡数量:',torch.cuda.device_count())
print('是否支持BF16数字格式:','支持' if (torch.cuda.is_bf16_supported()) else '不支持')
print('当前显卡型号:',torch.cuda.get_device_name())
print('当前显卡的CUDA算力:',torch.cuda.get_device_capability())
print('当前显卡的总显存:',torch.cuda.get_device_properties(0).total_memory/1024/1024/1024,'GB')
print('是否支持TensorCore:','支持' if (torch.cuda.get_device_properties(0).major >= 7) else '不支持')
print('当前显卡的显存使用率:',torch.cuda.memory_allocated(0)/torch.cuda.get_device_properties(0).total_memory*100,'%')


# Check if CUDA is available
is_cuda_available = torch.cuda.is_available()
if is_cuda_available:
    print("CUDA is available.")
else:
    print("CUDA is not available.")

# Check if cuDNN is available
from torch.backends import cudnn
cudnn.is_acceptable_type = lambda t: t.is_floating_point or t.is_integer
is_cudnn_available = cudnn.is_available()
if is_cudnn_available:
    print("cuDNN is available.")
else:
     print("cuDNN is not available.")
复制代码
相关推荐
梦想的旅途28 分钟前
企业微信API二次开发:接入 AI 大模型实现外部群智能问答
人工智能·自动化·二次开发·企业微信
碧口科技8 分钟前
湿地鸟类监测设备选型指南:复杂环境下的智能识别系统怎么选?
人工智能
2601_9494999410 分钟前
硬件工程师实操:芯瑞科技两款 400G 高速互联方案参数、场景、选型全解析
大数据·运维·人工智能·科技·光模块
极昆仑智慧11 分钟前
智能问数五级成熟度模型:从“能问“到“能协作“的演进路径
人工智能·语言模型·数据分析
火云牌神13 分钟前
如何用项目规则给 AI 划定编码边界
人工智能·系统架构·ai编程·vibecoding
优氙费控14 分钟前
报销审核效率低?AI费用审核正在改变财务工作方式
大数据·人工智能
云边云科技_云网融合20 分钟前
金融医疗混合云组网如何满足数据安全与合规要求?
大数据·人工智能·物联网
开开心心就好21 分钟前
视频播放器完美解码集成三款播放器切换使用
前端·人工智能·智能手机·电脑·音视频·virtualenv·pygame
2301_8067093825 分钟前
国内知名的生活水箱制造厂有哪些
python·生活
hzcj88827 分钟前
汇正财经:出海数据向好,创新药热度高
大数据·人工智能