Matlab并行写入和读取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab并行写入和读取相关的知识,希望对你有一定的参考价值。

我有一个parfor循环,但每个循环从公共源数组UMTemp读取,并写入公共单元格PMatrix。这会导致瓶颈问题吗?我怎么能避免这种情况?谢谢。

parfor i = 1:um_Elements
    for j = 1:Temp_Elements
        ind = (i-1)*Temp_Elements + j;
        u = UM(i);
        SS();
        tem = Temp(j);
        PMatrix{i,j}(1) = u;
        PMatrix{i,j}(2) = tem;
    end
end

此外,当使用两名工人时,性能提高了2.但是当使用16名工人时,性能没有太大变化。可能有什么不对?

答案

在这种情况下,UMTempPMatrix都是sliced变量。这意味着parfor机器可以看到这些变量在工人的独立部分(称为“切片”)中进行操作,因此只有所需部分从客户转移到工人。

至于为什么增加更多的工作人员不会带来额外的速度改进 - 你可能只是在循环体中没有做足够计算密集的事情来克服传输数据的开销。

以上是关于Matlab并行写入和读取的主要内容,如果未能解决你的问题,请参考以下文章

在 Matlab 中读取和写入二进制文件

数据库并行读取和写入(Python实现)

OpenGL 之 Compute Shader(通用计算并行加速)

HDF5 是不是支持并发读取或写入不同文件?

如何在 python 中并行化以下代码片段?

macmatlab导入大型csv