Matlab 并行化一个循环以在多个GPU核上同时运行?

Matlab 并行化一个循环以在多个GPU核上同时运行?,matlab,Matlab,我知道您可以使用matlabpool和parfor并行运行for循环迭代,但是,我想尝试利用我的GPU中的大量内核来运行更多的同步迭代。我想知道是否有任何内置的功能来做到这一点 据我所知,MATLAB在GPU上运行代码的方法是通过GPUarray,但这似乎并没有并行化循环,只是循环中的某些函数 对于我正在运行的循环,每个迭代都可以独立运行,循环之外需要存在的唯一变量是要处理的数据(一个三维数组,其中第一个索引是时间,每个迭代在不同的时间运行)和一个二维输出数组,其中每个迭代存储特定时间的结果。每

我知道您可以使用
matlabpool
parfor
并行运行
for
循环迭代,但是,我想尝试利用我的GPU中的大量内核来运行更多的同步迭代。我想知道是否有任何内置的功能来做到这一点

据我所知,
MATLAB
在GPU上运行代码的方法是通过
GPUarray
,但这似乎并没有并行化循环,只是循环中的某些函数

对于我正在运行的循环,每个迭代都可以独立运行,循环之外需要存在的唯一变量是要处理的数据(一个三维数组,其中第一个索引是时间,每个迭代在不同的时间运行)和一个二维输出数组,其中每个迭代存储特定时间的结果。每一次都是独立的


感谢使用
GPUArray
,您可以通过使用MATLAB的
arrayfun
构建算法来并行运行元素操作。实际上,它隐式地在数组的每个元素上循环,并且可以将MATLAB函数体应用于每个元素。文件是:


有一个简单的演示:。

这实际上非常有用,但是,我正在使用的函数中有几个部分无法完全按元素运行(内存限制)。谢谢你的帮助!