Windows下使用GPU加速的用于数值计算的标准配置方法

使用GPU加速可以提高计算机的性能,比如在3D游戏中更流畅的运行、更快的图像处理、更快的数据分析等。但GPU加速的安装配置上一些细节需要注意,否则可能会出现各种错误。本文的主要目的是配置一台适合数值计算,机器学习,深度学习用可兼用于办公的工作站或台式机,为了GPU顺畅的跑起来。

一、首先认识GPU算力天梯图,这里以NVIDIA英伟达GPU GeForce RTX显卡举例,这也是消费级显卡用的较多的序列,这张图来源于NVDIA官方,需要认识Compute Capability算力的概念,一般程序包是对算力有明确要求的,比如TensorFlow GPU版本,最低要求的算力是3.5,当然也有其他的软件包有更高的要求,一般用于数值计算,机器学习,推荐最低算力应该能达到7.5。

图1、显卡算力图

二、关于显卡驱动,CUDA,CUDNN等库的认识。

显卡驱动:显卡驱动是一种软件,它可以控制显卡的功能和性能。它可以改善显卡的性能,并且可以帮助用户调整显卡的设置,以便在不同的应用程序中获得最佳性能。(定义来源于:chatGPT)

CUDA:是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以使用C语言来为CUDA 架构编写程序,所编写出的程序可以在支持CUDA 的GPU上运行。

CUDNN:NVIDIA cuDNN (CUDA Deep Neural Network) 是一个GPU加速的深度神经网络库,强调性能、易用性和低内存开销。它可以集成到更高级别的机器学习框架中,如Caffe。安装cuDNN需要先安装CUDA,然后将cuDNN三个文件夹的内容分别复制到cuda对应的文件夹里面,最后为cuDNN添加环境变量。cuDNN有不同版本,如v2、v3、v4。

从定义可以看出,从层级上来讲,显卡驱动层级最低,其次是CUDA,而后是CuDNN,如果进行数值计算,是三者都需要的。

三、相关GPU加速软件包,PyTorch,TensorFlow等等

PyTorch:PyTorch是一个用于机器学习的开源库,使用Python的Torch库开发。它由Facebook的AI研究实验室开发,于2016年1月发布。PyTorch提供了两个高级功能:具有强大GPU加速的张量计算(如NumPy)和具有自动微分的深度神经网络

TensorFlow:TensorFlow是一个开源软件库,TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统.从功能上来说于PyTorch基本一致。

本文以TensorFlow举例说明。

四,具体安装配置。

在安装的顺序上,自然是首先安装显卡驱动,而后安装CUDA,然后是CuDNN, 之后再安装Python相关软件包,这个顺序一般不会错,错了一般也按不上,但如果是先安装的Python相关软件包,可能会因为路径问题,导致出现各类不能顺畅运算的错误。

具体的安装显卡驱动连接,可以到NVIDIA英伟达官方下载相应的软件包,但版本上一定要符合下图的对应关系。

这里划个重点:你使用的

【显卡驱动】--【CUDA】--【CuDnn】-【Python】-【TensorFlow 】 版本是有对应关系的,环环相扣,错了就需要查找对的版本,删除再重装。


图2、CUDA与显卡驱动程序版本对应关系

CUDA在本机上会存在两个版本,一个是显卡驱动自带的,用于加速本机,另外一个是ToolKit开发包所带,用于驱动你自己的数据计算。重点是后边这个。

可以通过nvidia-smi命令查看驱动的CUDA版本。

可以通过nvcc -V 命令查看CUDA Runtime版本,即你真正用于开发的CUDA版本。

一般驱动API版本需要大于运行API版本,即nvidia-smi命令查出的版本号应该大于nvcc -V的版本号。

图3、GPU CUDA CuDnn对应图

看这张图中,也就是说,如果想让本机的GPU跑的愉快,一定要对照图2、图3的对应关系,并按照 显卡驱动 >> CUDA >> CuDNN >> Python >> TensorFlow的顺序来。

里举例:

我本机安装的驱动版本是527.56 ,这个版本是越高越好,向下兼容。

nvidia-smi 显示版本是 CUDA 12.0

图4、CUDA驱动版本

Nvcc -V 显示开发CUDA版本是 11.2

图5、显示本地CUDA开发版本

Python版本为3.9 TensorFlow-GPU版本为2.9.3 CuDNN 版本为8302

图6、TensorFlow提示的cuDNN版本

到这一步,如果算法都运行正常就算配置完成。

这里再提示一下如果使用PyTorch,稍微有点区别。

可以使用

import torch

print(torch.__version__)

print(torch.version.cuda)

print(torch.backends.cudnn.version())

检测GPU加速库是否正常,如果正常就如下图。Pytorch库是独立CUDA加速库,也可以说又装了一遍,他自己专用,如果这里显示的是+CPU,下面两行是none,就说明版本不对,使用torch只能使用cpu算力,不能驱动GPU。

图7、使用Pytorch显示Cuda 和CuDNN版本

正确的方法是,删除三个torch相关的包torch, torchvision, torchaudio,重新用以下命令安装。

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu116

不要使用镜像,请直接使用官方包。


至此,GPU完美配置,如有其他问题,可留言评论。

展开阅读全文

页面更新:2024-04-29

标签:数值   英伟   软件包   架构   显卡   命令   机器   性能   版本   关系   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top