我不确定最有效的方法是什么,我知道我可以用4个本地工作者创建一个'matlabpool',但是我如何为每个人分配相同的脚本呢?或者我可以使用'batch'命令在特定线程上运行脚本,然后为每个线程执行此操作吗?
谢谢!
答案 0 :(得分:1)
您可以使用Parallel Computing工具箱使用多个核心运行单个脚本 matlabpool开放本地4 并使用parfor代替for循环来执行四个线程中循环中的任何内容。我不确定Parallel Computing工具箱是否支持在每个核心上单独运行整个脚本,您的硬件可能不支持这种情况。
答案 1 :(得分:1)
不确定这是否有效,但这里有一些尝试:
当尝试对象进行并行计算时,它们通常包含parfor
所以我建议您对脚本执行相同操作,确保所有必需的输入和输出都具有必要的尺寸并且只需调用:
parfor ii = 1:4
myscript;
end
旁注:在尝试这种东西之前,你可能想检查一下你的cpu利用率。如果它已经很高,这意味着代码的内部部分使用并行处理,你不应该期望加速。