2013-08-07 19 views
2

鉴于矩阵甲,...,A Ñ乙,...,B Ñ存储为gpuArray,我要计算的矩阵Ç = A i * B i如何并行乘以许多gpuArray矩阵?

所有的具有相同的尺寸,并且所有的是相同的(可能不同)的大小。

如何在GPU上快速执行此操作,假设 n非常大,并且矩阵的大小相对较小?是否有可能避免使用CUDA?

+0

为什么你不能只乘以它们?如果你已经将它们作为gpu数组,那么只需将它们相乘,MATLAB就会处理其他所有事情,除非我不能正确理解你的问题 – MZimmerman6

+0

此外,GPU乘法的需求是什么,MATLAB与常规矩阵的标准乘法相当快速它是 – MZimmerman6

+0

问题是n(矩阵的数量)可能相对较大,并且每个矩阵的维数可能相对较小。所以直接的方法将是连续的n。 –

回答

2

如果你有MATLAB R2013b,你可以使用新的gpuArray pagefun函数。

1

如果ABgpuArray类的,则操作C = A*B将在GPU上,而不需要你做任何事情都要进行。您不需要编写任何CUDA。结果C也将是gpuArray,您可以将其带回本地工作空间中的正常数组D,其中D = gather(C)

+0

谢谢,我为了清晰起见编辑了我的问题 - 我的n很大,每个矩阵的大小都很小。 –