什么是CUDA和CUDNN?——GeForce NVIDIA显卡用于深度学习计算的GPU加速工具
Posted 小哈里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是CUDA和CUDNN?——GeForce NVIDIA显卡用于深度学习计算的GPU加速工具相关的知识,希望对你有一定的参考价值。
1、什么是CUDA?
CUDA的概念
- 统一计算架构CUDA(Compute Unified Device Architecture)是为了让nvidia gpu可以完成通用计算任务的一种集成技术 ,通常可以使用的cuda框架有c,c++,fortran,python,java的,可以为数据大吞吐量的工作提供很好的加速功能。
- CUDA包括驱动,sdk,toolkit等。主要是用来进行计算加速,作为协处理器来进行使用 。同时cuda有很多的库 ,如cublas,cufft等计算库,在用于科学计算和人工智能领域 都有很好的加速效果。
- nvidia推出的cuda,也只有nvidia GPU有最优的效能,nvidia整个软硬件生态做的最好,现在几乎所有深度学习框架都首选cuda作为底层加速库 ,所以没得选只能用CUDA了。
- 有了cuda,可以让pytorch等框架直接在gpu上运行,速度更快
RTX光追系统和CUDA的关系?
- 之前买显卡的时候被安利,GTX1060没有光追系统,只有RTX2060及以上的系列才有,虽然不打游戏,然后光追跑深度学习也要用balabla的。
- 然而实际上,并没有直接关系。英伟达2018发布会上发布的新一代GPU架构——图灵(Turing),以及基于该架构设计的GPU——Quadro RTX系列 ,支持了两项全新的技术。分别是光线追踪(DXR)和深度学习超级采样(DLSS)。
- 光追(DXR)全程光线追踪 ,简单来讲就是一项渲染技术,它能够追踪画面里每一条光线的位置并进行计算,来渲染出更加趋近于真实的光影效果。
- Tensor Core是专为深度学习而设计的处理器 ,可用于AI计算,支持每秒500万亿次张量运算。这些新功能包括DLAA(深度学习抗锯齿),DLSS(超级采样抗锯齿)以及去噪、分辨率缩放和视频调速。
CUDA和CUDNN的关系?
- CUDA是在驱动之上提供给软件开发人员的一个编程库,现在多应用在并行计算等科学和工程研究领域。
- 还有一个叫做cudnn,是针对深度卷积神经网络的加速库。
2、如何使用CUDA
1、CUDA官网下载:
https://developer.nvidia.com/cuda-downloads
环境变量中可以酌情考虑添加
C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2
C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2\\lib\\x64
2、CUDA版本查看
打开控制面板,或者Win+S进行搜索,进入NVIDIA控制面板 。
系统信息中可以看到CUDA的版本。
3、判断自己是否成功安装:
cmd中输入
nvcc -V
3、如何使用CUDNN
1、CUDNN官网下载
https://developer.nvidia.com/rdp/cudnn-archive
2、下载完后安装
把 C:\\Users<username>\\Downloads\\cuda\\bin\\cudnn64_7.dll 复制到 C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\bin
把 C:\\Users<username>\\Downloads\\cuda\\include\\cudnn.h 复制到 C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\include
把 C:\\Users<username>\\Downloads\\cuda\\lib\\x64\\cudnn.lib 复制到 C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\lib\\x64
3、判断自己是否安装成功
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
print(tf.__version__)
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
print('GPU:', tf.test.is_gpu_available())
提示各种dll库找不到
Could not load dynamic library ‘cudart64_110.dll’;
Could not load dynamic library ‘cublas64_11.dll’;
Could not load dynamic library ‘cublasLt64_11.dll’;
Could not load dynamic library ‘cufft64_10.dll’;
Could not load dynamic library ‘curand64_10.dll’;
Could not load dynamic library ‘cusolver64_11.dll’;
Could not load dynamic library ‘cusparse64_11.dll’;
Could not load dynamic library ‘cudnn64_8.dll’;
附一张用开GPU优化跑的小数据MNIST的优化效果,快了将近两倍
以上是关于什么是CUDA和CUDNN?——GeForce NVIDIA显卡用于深度学习计算的GPU加速工具的主要内容,如果未能解决你的问题,请参考以下文章
深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow