parfor大输出开销

时间:2016-06-30 10:59:35

标签: matlab parallel-processing parfor

我在闪亮的服务器上使用MATLAB的并行工具箱(32个物理内核,64个逻辑,512GB RAM)。我所有的并行化需求都可以归类为“令人尴尬的并行”,例如:

  parfor i_par = 1:n_tot
      [CalcOutputs_array(:,:,i_par), AdvancedCalcOutputs_array(i_par)] = CPU_DemandingFunction(InputsStruct_array(i_par));
  end

为了最大限度地减少开销,我已经将输入分开,以便每个工作人员只接收所需的内容。

然而,输出可能会变得非常大(1GB-10GB),而且工作人员的数据收集对计算本身的影响非常大。

我很肯定是这种情况,因为通过降低从函数输出的数据量(我有一个控制它的标志) - 运行时间改进因子接近使用的核心数#i

可以改进吗?数据收集开销是否有任何补救措施?

0 个答案:

没有答案