gpuArray
MATLAB中的gpuArray表示存储在GPU上的数据。使用gpuArray函数可以将数据从MATLAB工作空间传送到GPU。例如:
A = data(10);
G = gpuArray(A);
执行以上语句后,G 就是一个MATLAB GPUArray对象了。
gather
当GPU运行完程序后,可以通过gather函数将数据从GPU取回到MATLAB工作空间,存储在内存中,CPU可以调用。
D = gather(G);
其他,gpuArray自带的方法可以直接在GPU中创建数据:
这些方法的具体用法可以使用类似夏敏的命令寻找帮助
help gpuArray/eye
最后,一些处理普通数据的函数也可以用来检测GPU数据的属性
值得注意滴是,GPU的数据是要存到显存里面的,显存可没有内存那么大,虽然MATLAB和cuda为我们做了很多显存管理的工作,但是我还是要保证处理的矩阵不会把显存撑爆。
实例:使用MATLAB进行GPU编程
在GPU上执行能够加快我的应用程序吗?
GPU能够对符合以下标准的应用程序进行加速:
大规模并行—计算能够被分割成上百个或上千个独立的工作单元。
计算密集型—计算消耗的时间显著超过了花费转移数据到