前言:
深度学习涉及很多向量或多矩阵运算,如矩阵相乘、矩阵相加、矩阵-向量乘法等。深层模型的算法,如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,配置成功: