cuda的安装,及pytorch调用GPU步骤

2022-10-18 11:26:57

前言:

         深度学习涉及很多向量或多矩阵运算,如矩阵相乘、矩阵相加、矩阵-向量乘法等。深层模型的算法,如BP,Auto-Encoder,CNN等,都可以写成矩阵运算的形式,无须写成循环运算。然而,在单核CPU上执行时,矩阵运算会被展开成循环的形式,本质上还是串行执行。GPU(Graphic Process Units,图形处理器)的众核体系结构包含几千个流处理器,可将矩阵运算并行化执行,大幅缩短计算时间。随着NVIDIA、AMD等公司不断推进其GPU的大规模并行架构,面向通用计算的GPU已成为加速可并行应用程序的重要手段。得益于GPU众核(many-core)体系结构,程序在GPU系统上的运行速度相较于单核CPU往往提升几十倍乃至上千倍。

        目前,GPU已经发展到了较为成熟的阶段。利用GPU来训练深度神经网络,可以充分发挥其数以千计计算核心的能力,在使用海量训练数据的场景下,所耗费的时间大幅缩短,占用的服务器也更少。如果对适当的深度神经网络进行合理优化,一块GPU卡相当于数十甚至上百台CPU服务器的计算能力,因此GPU已经成为业界在深度学习模型训练方面的首选解决方案。

        如何使用GPU?现在很多深度学习工具都支持GPU运算,使用时只要简单配置即可。Pytorch支持GPU,可以通过to(device)函数来将数据从内存中转移到GPU显存,如果有多个GPU还可以定位到哪个或哪些GPU。Pytorch一般把GPU作用于张量(Tensor)或模型(包括torch.nn下面的一些网络模型以及自己创建的模型)等数据结构上。

(此段文字复制自https://blog.csdn.net/xxboy61/article/details/97973288)

判断gup是否存在

        使用GPU之前,需要确保GPU是可以使用,可通过torch.cuda.is_available()的返回值来进行判断。返回True则具有能够使用的GPU。

        通过torch.cuda.device_count()可以获得能够使用的GPU数量。

        如何查看平台GPU的配置信息?在命令行输入命令nvidia-smi即可 (适合于Linux或Windows环境)。从中可以看出共有1个GPU。

 安装cuda

cuda下载地址:CUDA Toolkit Archive | NVIDIA Developer

1,点开安装程序

2,安装cuda时,

        第一次会让设置临时解压目录,第二次会让设置安装目录;

        临时解压路径,建议默认即可,也可以自定义。安装结束后,临时解压文件夹会自动删除;

3,安装目录,建议默认;

        注意:临时解压目录千万不要和cuda的安装路径设置成一样的,否则安装结束,会找不到安装目录的!!!

        选择自定义安装

 4,命令行中,测试是否安装成功;

                Nvcc --version  或者 nvcc -V

         说明安装成功

5,添加一些必要的环境变量

安装cudnn

1, 关于cudnn:

cuda和cudnn是什么 - 范仁义 - 博客园cuda和cudnn是什么 - 范仁义 - 博客园cuda和cudnn是什么 - 范仁义 - 博客园

2,下载地址:

cuDNN Archive | NVIDIA Developer

3, 安装:

        解压下载好的文件包

         下载包中对应路径的文件夹的文件粘贴到cuda安装路径下对应的文件夹下

4,完成最后,验证是否配置成功,

        主要使用CUDA内置的deviceQuery.exe 和 bandwithTest.exe两个程序:

   首先启动终端,cd到安装目录下D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\demo_suite(这是我的安装路径,默认是在C盘),然后分别执行bandwidthTest.exe和deviceQuery.exe。

        如果以上两步都有Result=PASS,那么就表示安装成功。

pytorch调用GPU

1,安装支持GPU的torch:

        下载地址:PyTorch

2,选择版本:

 3,配置成功:

  • 作者:卖香油的少掌柜
  • 原文链接:https://blog.csdn.net/qq_58832911/article/details/120567345
    更新时间:2022-10-18 11:26:57