(图片来源网络,侵删)
使用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 torchprint(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完美配置,如有其他问题,可留言评论。
0 评论