0
  • 我有一台四核台式电脑
  • 我在 Matlab 中有并行计算工具箱。
  • 我有一个脚本文件,我需要在每个内核上同时运行

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

谢谢!

4

2 回答 2

1

您可以使用 Parallel Computing 工具箱使用多个内核运行单个脚本,方法是使用 matlabpool open local 4 并使用 parfor 而不是 for 循环来跨四个线程执行循环中的任何内容。我不确定并行计算工具箱是否支持在每个内核上单独运行整个脚本,您的硬件可能不支持。

于 2013-02-06T22:51:48.347 回答
1

不确定这是否有效,但可以尝试以下方法:

当试图并行化计算时,它们通常用类似的东西包裹起来parfor

所以我建议对你的脚本做同样的事情,确保所有必需的输入和输出都具有必要的尺寸,然后调用:

parfor ii = 1:4
   myscript;
end

旁注:在尝试这种东西之前,您可能需要检查您的 CPU 利用率。如果它已经很高,则意味着代码的内部部分使用并行处理,您不应该期望有太多的加速。

于 2013-02-08T16:43:10.260 回答