在matlab中使用parfor进行嵌套循环

dks*_*uji 4 matlab

我想为每个block1和parallerlize外循环并行化block2.

以前的代码:

    for i=rangei
        <block1>
        for j=rangej
            <block2> dependent on <block1>
        end
    end
Run Code Online (Sandbox Code Playgroud)

改变了代码:

    parfor i=rangei
        <block1>
        parfor j=rangej
            <block2> dependent on <block1>
        end
    end
Run Code Online (Sandbox Code Playgroud)

这可以获得多少效率,改变后的代码会做正确的事情吗?更改后的代码是否符合我的要求?

Fra*_*urt 5

在MATLAB中,parfor不能嵌套.这意味着,在你的代码,你应该更换一个parforfor(外循环最有可能的).更一般地说,我建议你在parfor上查看本教程.