如果当前matlab支持GPU,可直接在命令行输入 gpuDevice 查看GPU信息, methods('gpuArray')可查询支持GPU操作的函数,这里的GPU目前必须是N卡即nvidia的GPU ,需要提前安装GPU 驱动。
1.使用GPU 运算的数据必须为GPU数据类型(除非GPU函数另有说明)
2.标量,常数一般没有转移的必要
3.只要GPU支持的函数使用GPU数据计算后的结果还保存在GPU上,(除非使用gather函数返回CPU)max正好是GPU支持的函数,所以不需要在CPU上求max。
从Matlab2013版本开始,matlab将可以直接调用gpu进行并行计算,而不再需要安装GPUmat库。这一改动的好处是原有的matlab内置函数都可以直接运用,只要数据格式是gpuArray格式的,那么计算过程会自动的调用GPU进行计算,不可谓不方便。
具体操作起来,只要知道下面几个函数就可以像编写简单的m文件一样,进行matlab的GPU编程:
1.GPU设备确认函数
1)n=gpuDeviceCount
%返回设备上的GPU数目
2)
gpuDevice
%选择GPU设备
3)
reset(gpudev)
%清空gpu的内存,类似matlab的clear的功能。其中gpudev是gpuDevice所返回的对象。
2.GPU以CPU之间的交互
1)
gpuArray
(CPU-->GPU)
2)
gather
(GPU-->CPU)
3)
TF=existOnGPU(DATA)
3.计算效率统计