Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Matlab中的GPU实现10000阵列_Matlab_Gpu - Fatal编程技术网

用Matlab中的GPU实现10000阵列

用Matlab中的GPU实现10000阵列,matlab,gpu,Matlab,Gpu,我想找到一些函数的极值。此函数使用具有10000-100000个元素的数组。函数内部的所有操作都是以Matlab风格编写的数组(例如C=A*B,C=A*B,A(C)=D),没有任何循环。 我还想对这个函数使用GA或SA优化 我可以用GPU加速吗? 我希望我可以,因为所有数组操作C=A*B,C=A.*B,A(C)=D都应该以并行模式执行 但这是真的吗?我的推理正确吗?执行速度取决于CPU和GPU的参数。你可以很容易地将其与 tic C = A * B; toc 及 我现在没有GPU。那么,在大多

我想找到一些函数的极值。此函数使用具有10000-100000个元素的数组。函数内部的所有操作都是以Matlab风格编写的数组(例如
C=A*B,C=A*B,A(C)=D
),没有任何循环。 我还想对这个函数使用GA或SA优化

我可以用GPU加速吗? 我希望我可以,因为所有数组操作
C=A*B,C=A.*B,A(C)=D
都应该以并行模式执行


但这是真的吗?我的推理正确吗?

执行速度取决于CPU和GPU的参数。你可以很容易地将其与

tic
C = A * B;
toc


我现在没有GPU。那么,在大多数情况下,人们应该期待什么样的结果呢?@user20555505正如我之前所说的,这在很大程度上取决于GPU。但我认为使用功能强大的GPU可以显著提高性能。在MATLAB中对GPU进行计时时,需要使用
gputimeit
wait(gpuDevice)
来确保GPU上的工作已经完成
tic
/
toc
不会这样做。我倾向于不包括将数据传输到GPU或从GPU传输数据所需的时间,因为希望这只在算法开始时执行一次。如果我理解正确,这取决于GPU的内存和微芯片的数量。但GPU只能加速并行计算或大型阵列。我的10 000-10万个元素的阵列是否足够长,可以通过强大的GPU获得加速?我问这个问题是因为GPU不会加速小型阵列。@Edric你说的tic/toc是对的,我更正了我的答案。我考虑了单矩阵乘法,因为我不知道User20555505将如何使用它。
gd = gpuDevice();
tic
aG = gpuArray(A);
bG = gpuArray(B);
C = A * B;
wait(gd);
toc