matlab练习程序(GPU加速)

在Matlab中使用GPU,要先输入gpuDevice命令初始化一下设备。

根据返回的信息能够大概估算出显存支持的最大数据。

否则使用时容易出现下面这样的问题:

错误使用 gpuArray
An unexpected error occurred during CUDA execution. The CUDA error was:
unknown error

如果出现这个问题,只能调小数组重启Matlab或者换个更好的显卡。

下面是一段测试代码:

clear all;
close all;
clc;
%gpuDevice

tic
A = rand(4000);
B1 = A*A;
toc

tic
A = rand(4000);
A = gpuArray(A);
B2 = A*A;
toc

B3 = gather(B2);   %收集进内存,这一步比较耗时

加速对比:

运算能够提供较好的加速,不过将结果收回内存比较耗时。

比较好的实践和通用GPU编程类似:减少显存内存交换次数,让数据更长时间在显存中处理。

原文地址:https://www.cnblogs.com/tiandsp/p/14254754.html