一、概念
下面介绍显卡驱动(例NVIDIA GeForce)、CUDA、cuDNN 的概念和联系。
显卡驱动
显卡驱动是封装成软件的程序,硬件厂商根据操作系统编写的配置文件。安装成功后成为操作系统中的一小块代码。它是硬件所对应的软件,计算机有它就可以与显卡进行通信,驱使其工作。如果没有显卡驱动,显卡就无法工作。
CUDA
由NVIDIA建立的并行计算平台以及编程模型,可以显著的提高GPU的计算性能。
cuDNN
NVIDIA的cuDNN是针对深度神经网络计算的一个GPU加速库,为标准例程提供了高度优化的实现,比如向前、向后卷积,池化,规范化和激活层。其是NVIDIA Deep Learning SDK的一部分。
有一个比喻能够形象的说明CUDA、cuDNN两者的关系:把CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但CUDA这个工作台买来的时候并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回