matlab开启并行计算 核数_MATLAB 并行计算

主要函数:parfor

并行 for 循环

说明:

parfor LoopVar = InitVal:EndVal; Statements; end

在生成的 MEX 函数中或在共享内存多核平台上并行运行的 C/C++ 代码中创建一个循环。

parfor 循环对 InitVal 和 Endval 之间的 LoopVar 值执行 Statements。LoopVar 指定由整数值组成的向量,这些值按 1 递增。

parfor (LoopVar = InitVal:EndVal, NumThreads); Statements; end

在创建并行 for 循环时,最多使用 NumThreads 个线程。

写法案例:

parfor rowIndex=1:regionRow

point=cell(regionCol,4);

for colIndex=1:regionCol

disp(['rowIndex =',num2str(rowIndex),'colIndex =',num2str(colIndex)]);

mdl = stepwiselm(full,pointLpmay{rowIndex,1}{colIndex,1},'quadratic','Verbose',0);

point{colIndex,1}=mdl.Formula.Terms; % 方程的项与结构

point{colIndex,2}=mdl.Coefficients.Estimate; % 方程项的系数

point{colIndex,3}=mdl.Rsquared.Ordinary; % 判定系数

point{colIndex,4}=mdl.Rsquared.Adjusted; % 调整判定系数

end

pointLpmaA{rowIndex,1}=point;

end

注意:

此种方法开启并行默认使用最大线程数,而MATLAB默认允许的最大线程数为12,若计算机的真核数量超过12,可以用以下方式进行扩展:

%%% 设置MATLAB可以联通24个线程(否则默认最大线程为12) %%%

c = parcluster('local');

c.NumWorkers = 24;

parpool(c, c.NumWorkers);

已经开启并行工具箱之后,若要重新开启,需要先关闭之前的并行,再开新的,关闭方法如下:

delete(gcp('nocreate'))

参考资料:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值