现在做的DNN、CNN都是在底层把计算转换为矩阵乘法。加速矩阵乘法就是用的BLAS库。很多情况下,application叫做R standard interface,就是单线程实现的矩阵乘的库,可以很容易地把这个库替换下面的部分,既可以替换成GPU加速的cuBLAS库,也可以是多核或多线程的intel的MKL库和OpenBLAS。通过这种方式,可以很快地提高矩阵运算速度。
Linux下有个NVBLAS库,它其实是cuBLAS的wrapper,从它里面就可以调整各种精度的矩阵乘。
它不仅支持单GPU,还支持多GPU。它的主要好处是对code不需要做任何改变,也就是zero programming effort,只需要把NVBLAS库load在前面,这个库就被替换成cuBLAS,跑到GPU上。
所以在做应用程序开发,大家通常有一种思路,如果想加速一个计算,就尝试把这个计算转换成矩阵计算,并加载各种多线程库或并行库,那么程序可以得到很快地提高,这其中不需要太多code的重写。然后看下benchmark,有两种benchmark。
蓝色的线是用原来的的R跑的程序,可以看到运行时间多很多,加载了NVBLAS库以后,运行时间少了很多。其他是一些在很多程序里运用的基础算法。当程序比较依赖于这种基础算法,就可以考虑加载很多并行库,来看程序的运行效果。
ewsa对显卡的要求: 1、NVIDIA显卡 GeForce 8, 9, 200 Series及更高版本 (至少256MB显存)、Quadro FX 4600以后推出的专业绘图卡、TESLA C870,D870,S870,C1060,S1070 需要特别注意的是GeForce 8xxx以后所推出的绘图卡须安装CUDA 182.22以后版本的驱动程序 2、ATI显卡 RADEON HD 3000 Series、RADEON HD 4600 Series、RADEON HD 4800 Series及更高版本、FireStream 9170,9250,9270 FireStream 9170,9250,9270 和N卡一样要注意的是Radeon 3xxx以后所推出的绘图卡须安装CATALYST 9.2以后版本的驱动程序。GPU计算也就是GPU加速计算,由Nvidia提出来的概念,是利用一颗图形处理器 (GPU) 以及一颗 CPU 来加速科学、工程以及企业级应用程序。 NVIDIA® 于 2007 年在这方面率先迈出了第一步,GPU 现已成就了世界各地政府实验室、大学、企业以及中小企业内的节能数据中心。GPU也就是图形处理器,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。