ubuntu 22.04下面安装cuda、cudnn等的配置过程

一、正常安装ubuntu 22.04系统,安装以后sudo apt update,sudo apt upgrade更新软件到最新版。       

二、安装cuda

        到下面的地址去下载cuda离线安装包,根据cpu指令集架构等选择正确的选项:

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local

 出来的选项内容如下所示:

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

第一个wget下载的内容不大,没有必要单独下载,第二个wget下载的安装包大概3.6G左右,需要用迅雷等下载加速,下载好以后按照以上的命令顺序执行即可。

sudo apt-get install -y cuda-drivers

三、安装cudnn

        cudnn的安装过程与安装与cuda的安装过程类似,打开下面的网址并根据实际情况选择合适的选项:

https://developer.nvidia.com/cudnn-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local
wget https://developer.download.nvidia.com/compute/cudnn/9.1.1/local_installers/cudnn-local-repo-ubuntu2204-9.1.1_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2204-9.1.1_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2204-9.1.1/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn

四、安装完成以后配置一下系统的环境变量,导出cuda和cudnn相关头文件与库文件编译搜索路径

sudo vi /etc/profile

export PATH=/usr/local/cuda/bin:$PATH
export CPATH=$CPATH:/usr/include:/usr/local/cuda/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/usr/local/cuda/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/usr/local/cuda/lib64

source /etc/profile

五:验证

   执行nvidia-smi验证显卡驱动安装是否正确,正确的话应该输出类似下面这样:

Sat May 11 15:27:56 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 9999 ...    Off |   00000000:01:00.0  On |                  N/A |
| 30%   35C    P8             20W /  250W |      64MiB / 102400MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      1035      G   /usr/lib/xorg/Xorg                             54MiB |
|    0   N/A  N/A      1106      G   /usr/bin/gnome-shell                            7MiB |
+-----------------------------------------------------------------------------------------+

    如果安装的驱动有问题,可能会出现下面这样的提示:

root@server:~# nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
NVML library version: 550.54

  此时的处理方案是:

sudo apt-get remove --purge '^nvidia-.*'
sudo rm /etc/modprobe.d/blacklist-nvidia.conf
sudo rm /lib/modprobe.d/blacklist-nvidia.conf
apt-get update
apt-get install nvidia-driver-550

  安装指定版本的驱动以后reboot重启系统应该就没问题了。

 执行nvcc --version验证cuda版本,正常情况下输出如下:

sudo nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:18:24_PDT_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0

cudnn版本验证不是很方便,可以写个小程序验证一下,例如新建main.cpp,内容如下:

#include <cudnn.h>
#include <iostream>

int main() {
    std::cout << "cuDNN Version: " << cudnnGetVersion() << std::endl;
    return 0;
}
 g++ main.cpp -o cudnn_test -I/usr/include -I/usr/local/cuda/include -L/usr/lib/x86_64-linux-gnu -L/usr/local/cuda/lib64 -lcudnn -lcudart

  正常情况下应该可以编译得到cudnn_test的可执行文件,执行以后可以打印cudnn的版本信息:

./cudnn_test
cuDNN Version: 90101

 六、安装对docker的gpu支持

     根据docker官方文档资料正常安装docker,这里跳过docker的安装过程记录,以下内容是安装对docker的gpu支持,使docker实例可以访问宿主机gpu算力资源,依次执行以下命令:

# 设置稳定版仓库和 GPG 密钥
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# 安装 nvidia-docker2 包并重启 Docker 服务
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

 安装完成以后拉取一个官方镜像访问一下gpu算力资源,

 docker pull nvidia/cuda:12.4.1-cudnn-runtime-ubuntu20.04

  docker镜像拉回来以后执行一下试试:

 

 docker run --gpus all nvidia/cuda:12.4.1-cudnn-runtime-ubuntu20.04 nvidia-smi

  正常情况应该输出如下内容:


==========
== CUDA ==
==========

CUDA Version 12.4.1

Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.

Sat May 11 07:46:25 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX xxxx ...    Off |   00000000:01:00.0  On |                  N/A |
| 30%   36C    P8             21W /  250W |      64MiB /   xxxxMiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
+-----------------------------------------------------------------------------------------+

 这样就彻底安装完了。最后说一句,盗取文章的死全家,关键是还有傻子私信骚扰我说我盗取别人的文章,本文首发于http://blog.youkuaiyun.com/peihexian

### 安装配置 Ollama 对于 Ubuntu 22.04 的离线环境而言,安装配置 Ollama 需要预先下载所需的所有依赖包以及确保这些软件包之间的兼容性。考虑到网络连接不可用的情况,在准备阶段就要尽可能全面地收集必要的文件。 #### 准备工作 为了实现离线安装,建议先在一个具有互联网访问权限的相同版本系统环境中执行如下操作来获取所需的.deb 文件和其他资源: - 更新现有的 APT 缓存 `sudo apt-get update` 并记录下所有即将被安装的包名及其版本号。 - 使用命令行工具如 `apt download package_name` 来单独下载各个目标程序对应的 .deb 文件到指定目录中保存起来以便后续转移至无网设备上使用[^1]。 #### 软件包预处理 针对特定应用比如 Ollama 及其依赖项(例如 Python 库),还需要额外注意它们可能存在的其他形式分发渠道(pip, conda)。如果官方提供了 tarball 或者 wheel 格式的压缩包,则可以直接解压后通过源码编译的方式完成本地构建;而对于 PyPI 上托管的内容则可以利用 pip 下载功能提前准备好 wheels 存档再传入封闭网络里供 offline mode 中调用[^2]。 #### 实际安装过程 当上述准备工作完成后就可以着手于真正的离线设置了: - 将之前搜集好的 deb 包拷贝进入目标机器上的某个临时位置; - 利用 dpkg 命令批量安装已有的二进制包:`sudo dpkg -i *.deb`; - 对于那些由于缺少某些库而导致失败的情形可通过手动解析 Depends 字段得知确切名称进而补充缺失部分直至整个链条完整为止; - 如果涉及到 python packages ,那么就进入到事先存放好 whl files 的路径之下运行 `pip install --no-index --find-links=/path/to/wheelhouse/ somepackage.whl`. ```bash # 批量安装Debian软件包 sudo dpkg -i /tmp/offline_packages/*.deb # 解决未满足的依赖关系 sudo apt-get install -f # 安装Python Wheel文件 pip install --no-index --find-links=/path/to/python_wheels/ ollama.whl ``` #### 后续验证与调试 一旦完成了初步设置之后便应该尝试启动服务看看是否存在任何异常状况,并参照日志信息进一步调整参数直到一切运作正常。特别是关于 CUDA 支持方面的问题,务必确认 GPU 访问无障碍且驱动版本匹配良好以避免类似 torch.cuda.is_available() 返回 False 这样的情况发生[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peihexian

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值