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的。然而实际上,并没有直接关系。英伟达发布会上发布的新一代GPU架构——图灵(Turing),以及基于该架构设计的GPU——Quadro RTX系列,支持了两项全新的技术。分别是光线追踪(DXR)和深度学习超级采样(DLSS)。光追(DXR)全程光线追踪,简单来讲就是一项渲染技术,它能够追踪画面里每一条光线的位置并进行计算,来渲染出更加趋近于真实的光影效果。Tensor Core是专为深度学习而设计的处理器,可用于AI计算,支持每秒500万亿次张量运算。这些新功能包括DLAA(深度学习抗锯齿),DLSS(超级采样抗锯齿)以及去噪、分辨率缩放和视频调速。
CUDA和CUDNN的关系?
CUDA是在驱动之上提供给软件开发人员的一个编程库,现在多应用在并行计算等科学和工程研究领域。还有一个叫做cudnn,是针对深度卷积神经网络的加速库。
2、如何使用CUDA
1、CUDA官网下载:
/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官网下载
/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 tfimport osos.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的优化效果,快了将近两倍