0%

matlab中parfor一些踩坑和用法

parfor中使用分支和循环语句的一些问题

  • 参考链接
  • 使用if语句和循环控制语句比如continuebreak可能会有问题

如何控制进程的数量

  • Cluster会默认指定一个最大的并行计算的上限,一般是CPU的物理核心数
    • picture 1
    • 点击第三个更换
    • picture 3
    • 点击此处可以修改默认值为自己需要的数值比如CPU的逻辑处理器的数量,可能是物理核心的2倍
  • 然后使用如下代码设置线程的数量
    CoreNum=16; %设定机器CPU核心数量
    if isempty(gcp('nocreate')) %如果并行未开启
    parpool(CoreNum);
    end
  • 终止的时候使用
    delete(gcp)
  • 循环套循环的时候最好是内层循环是parfor