在多个本地线程上运行相同的Matlab脚本

时间:2013-02-06 22:14:28

标签: matlab parallel-processing

  • 我有一台四核台式电脑
  • 我在Matlab中使用了Parallel Computing工具箱。
  • 我有一个脚本文件,我需要在每个核心上同时运行

我不确定最有效的方法是什么,我知道我可以用4个本地工作者创建一个'matlabpool',但是我如何为每个人分配相同的脚本呢?或者我可以使用'batch'命令在特定线程上运行脚本,然后为每个线程执行此操作吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用Parallel Computing工具箱使用多个核心运行单个脚本 matlabpool开放本地4 并使用parfor代替for循环来执行四个线程中循环中的任何内容。我不确定Parallel Computing工具箱是否支持在每个核心上单独运行整个脚本,您的硬件可能不支持这种情况。

答案 1 :(得分:1)

不确定这是否有效,但这里有一些尝试:

当尝试对象进行并行计算时,它们通常包含parfor

之类的内容

所以我建议您对脚本执行相同操作,确保所有必需的输入和输出都具有必要的尺寸并且只需调用:

parfor ii = 1:4
   myscript;
end

旁注:在尝试这种东西之前,你可能想检查一下你的cpu利用率。如果它已经很高,这意味着代码的内部部分使用并行处理,你不应该期望加速。