关于GPU CUDA CUDNN
一、GPU是什么?
深度学习依赖显卡加速,在此语境下,显卡简单理解成GPU,尤其指NVIDIA公司生产的GPU系列,因为后面介绍的cuda, cudnn都是NVIDIA公司针对自身的GPU独家设计的。GPU架构指的是硬件的设计方式,例如流处理器簇中有多少个core、是否有L1 or L2缓存、是否有双精度计算单元等等。芯片就是对上述GPU架构思想的实现,有时候一张显卡里面可能有多张芯片。而显卡系列在本质上并没有什么区别,只是NVIDIA希望区分成三种选择,GeFore用于家庭娱乐,Quadro用于工作站,而Tesla系列用于服务器。Tesla的k型号卡为了高性能科学计算而设计,比较突出的优点是双精度浮点运算能力高并且支持ECC内存,但是双精度能力在深度学习训练上作用不大,所以Tesla系列又推出了M型号来做专门的训练深度学习网络的显卡。需要注意的是Tesla系列没有显示输出接口,它专注于数据计算而不是图形显示。
二、CUDA是什么?
CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。按照官方的说法是,CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。
三、CUDATOOLKIT是什么?
CUDA Toolkit由以下组件组成:
- Compiler: CUDA-C和CUDA-C++编译器NVCC位于bin/目录中。它建立在NVVM优化器之上,而NVVM优化器本