大模型N卡环境配置

2023/6/22

# 显卡驱动

# 查看驱动

首先需要确认当前有无安装驱动,命令行执行nvidia-smi ,会有如下图所示信息:

image-20230618160523004

第一行显示了驱动版本及CUDA版本,CUDA版本能够向后兼容Driver版本,也就是说只要Driver版本满足CUDA要求的最低版本即可运行,所以Driver版本可以无脑升级到最新即可。

# 下载安装

N卡驱动下载 (opens new window)

产品类型如何选?GeForce是消费级游戏显卡如RTX3060系列,执行nvidia-smi 也应该看到了第三个框的信息NVIDIA GeForce RTX 3060 或NVIDIA A10,按需选择下载即可。不清楚系列的的可以多点几个看看产品家族也能找得到。

# windows

windows 下载到桌面安装即可,安装时可选最小安装。

查看版本,也可使用nvidia-smi查看

桌面右键或右下角托盘打开英伟达控制面板,点击帮助->系统信息->组件

image-20230606224059757

# WSL

wsl子系统的驱动是在windows上装,windows装了之后在wsl2上子系统是可以读取的到,不要在子系统里装。

显卡驱动在windows上安装exe驱动程序安装好好之后CMD执行nvidia-smi即可获得结果 ,子系统执行也可以正常得到这个显示

如果读取不到需要检查是不是wsl版本为1。千万不要在执行nvidia-smi 失败时根据提示安装nvidia-utils ,WSL上的linux提示不可尽信,有些操作在WSL上的linux和单纯linux系统操作不同。

# centos

在下载驱动时,他会和windows不同的是需要选CUDA Toolkit版本,也就是nvidia-smi显示的CUDA,CUDA Toolkit版本如何选?那就看你使用的模型建议版本了,很多开源项目都标注了在什么版本下测试过,按需即可,或者就选all。

下载后执行以下命令安装

rpm -ivh nvidia-driver-local-repo-rhel7-515.105.01-1.0-1.x86_64.rpm #包名根据自己下载修改

1
2

# 验证

执行nvidia-smi后可以对比之前的看NVIDIA-SMI后面的版本应该时要和刚才安装的包名里的版本一致。

如执行报错Failed to initialize NVML: Driver/library version mismatch,重启系统再执行。

# CUDA Toolkit

# 查看版本

命令行执行nvcc -V 命令,可得到如下输出,如果命令无法执行表示未安装CUDA Toolkit


nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2021 NVIDIA Corporation Built on Wed_Jul_14_19:41:19_PDT_2021 Cuda compilation tools, release 11.4, V11.4.100 Build cuda_11.4.r11.4/compiler.30188945_0

# 下载安装

下载CUDA Toolkit (opens new window), 一般显示的都是最新的版本,如果要下载历史版本,先把页面选项选择完,然后页面下方会出现Archive of Previous CUDA Releases (opens new window) 建议用aria2或curl多线程下载最高40Mbps

CUDA Toolkit版本与CUDA显卡驱动版本对应关系 (opens new window),CUDA Toolkit版本向后兼容CUDA显卡驱动版本

根据自己版本不同进行选择,windows选windows,linux选linux具体的版本,WSL就选WSL2,因为只有2支持,默认安装的windows子系统是WSL1并不支持,不要去选linux,WSL不能用linux的。

本次linux系统使用rpm或deb安装

下载完成后根据页面提示安装即可,页面附带了命令。

# 配置环境变量

# linux&WSL

以下环境变量建议在子用户的~/.bashrc里设置,不影响其他用户使用。但是注意安装cudnn时还是得改/etc/

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

配置完source ~/.bashrc 生效

# windows

windows10-右下角windows设置-系统-关于-右侧有高级系统设置-环境变量-系统变量-编辑path-新建

分别新建以下两条,注意把版本替换为自己的版本,以下是默认路径安装

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
1
2
3

如果安装多个CUDA Tookit版本记得,使用哪个就把哪个版本的变量移动到最前面

# cuDNN

# 查看版本

# windows

如果已安装的情况下可以通过以下方式查看:

打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite

在此路径下打开cmd或powershell,执行命令:

.\bandwidthTest.exe
1

输出以下内容:

[CUDA Bandwidth Test] - Starting...
Running on...

 Device 0: NVIDIA GeForce RTX 3060
 Quick Mode

 Host to Device Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)        Bandwidth(MB/s)
   33554432                     23405.5

 Device to Host Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)        Bandwidth(MB/s)
   33554432                     25694.9

 Device to Device Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)        Bandwidth(MB/s)
   33554432                     319042.9

Result = PASS

NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 下载安装

cuDNN版本依赖CUDA版本,按需选择即可。,需要注册账户,邮箱注册即可

下载cuDNN (opens new window)

cuDNN安装方法 (opens new window)

# windows

cuDNN是zip包,解压可以看到bin、include、lib目录,打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA 进入具体版本目录,将cuDNN的3个目录里面的文件复制进去(是文件不是复制目录)

# centos7.8

使用tar包安装

xz -d cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar.xz #先用xz解压
tar xf cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar  # tar解压
# 注意cuda软连接对应的是不是你期望的实际版本地址
$ 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*

1
2
3
4
5
6
7
Last Updated: 2023/9/27
只爱西经
林一