Video card,Graphics card,又叫显示接口卡,是一个硬件概念(相似的还有网卡),执行计算机到显示设备的数模信号转换任务,安装在计算机的主板上,将计算机的数字信号转换成模拟信号让显示器显示出来。
显卡是计算机的标配之一,计算机要显示图像就必须安装显卡。普通计算机的显卡一般是集成在主板上的。
显卡驱动
显卡驱动是显卡跟计算机连接的桥梁,可以让计算机识别到GPU硬件,是必须正确安装的,不同厂商、不同型号的GPU对应不同的显卡驱动。
非开发人员不用安装CUDA或cuDNN,但是一定要安装显卡驱动。
查看Nvidia显卡和显卡驱动版本信息:
- nvidia-smi
显存
又叫帧缓存,作用是用来存储GPU处理过或者即将提取的渲染数据,显存相对于GPU相当于内存对于CPU。
GPU
Graphics Processing Unit,图形处理单元,GPU是显卡上的一块芯片,也是显卡的核心设备,GPU和显卡的关系类似于CPU和主板的关系。
早期的GPU主要用于图形渲染,可以让电脑显示更加逼真、细节更加丰富的图形图像,牛逼的GPU可以跑大型3D游戏显示流畅不卡顿,这也是人们对GPU或显卡的最初认识。
后来人们发现GPU还可以做更多的工作,例如执行矩阵运算和浮点运算,特别是可以用来加速神经网络模型的训练,GPU也在并行计算这条路上越走越远。可以说GPU让人工智能有了更多可能。
CUDA
Compute Unified Device Architecture,CUDA是NVIDIA推出的用于NVIDIA GPU的并行计算框架,是一种运算平台,是软件层面的概念,相关的概念还有OpenCL、OpenMP等。
GPU的设计是用来做图像渲染任务的,如果没有CUDA,开发人员就要先把计算任务打包成图形渲染任务再让GPU执行,开发难度很高。可以认为CUDA完成了这个打包任务,只需要通过CUDA提供的API,把数据和运算规则交给CUDA,让CUDA和GPU交互,再返回运算结果。
查看CUDA版本信息:
- nvcc -V
cuDNN
CUDA Deep Neural Network library,是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。cuDNN可以把加载到GPU上的网络层数据根据神经网络数据运算的特点(如卷积操作、前后向运算流、pooling、softmax、激活函数等)进行优化,加速模型训练。
几乎所有的深度学习框架都支持cuDNN加速优化,如Caffe、Caffe2、TensorFlow、Torch、Pytorch、Theano等。