matlab2020a parpool相关设置(并行计算)

前言

  • matlab 作为一款强大的理工科科研神器,并行计算当然也是需要了解的,毕竟可以大大节省我们的时间。
  • matlab 版本: 不同版本还是存在一些差异的!本文是针对于matlab2020a

parfor 相关

1、使用 parfor可以并行执行代码; 如下图红框所示,默认是选中的,也就是当使用parfor的时候,matlab会自动创建parallel pool;
在这里插入图片描述
2、注意:

  • 不建议parfor内执行的内容包含有全局变量,尤其是会对全局变量进行修改的操作,否则会带来意想不到的错误。建议进行传参。
  • 此外,parfor 并行执行的基础是for循环前后两次迭代是不相关的;也就是后一次的迭代不需要前一次的迭代结果;
  • 并行执行是需要计算机CPU有多个核心为前提的,每一个核心可以单独进行一次for循环任务,各核心之间互不影响的工作;所以CPU核心数目越多,代码执行越快!!!

设置使用CPU核心数目

方法一:手动配置

使用matlab自带的窗口进行设置程序使用多少个核心;就在matlab左下角那里,点击一下进行配置即可!!
在这里插入图片描述

方法二:使用代码实现
% start parpool by codes.
delete(gcp('nocreate'));         % stop the process before start a new run.
numCore = feature('numcores');   % get the maxmium core num of PC.
parpool(numCore-1);              % start parpool.

注意:
① 上述代码中parpool(numCore-1);是用于开启parpool并指定使用CPU核心数目的;
delete(gcp('nocreate'));:如果之前有开启过parpool但是没有关闭,直接使用parpool()开启并行池会报错,所以需要先关闭;
numCore = feature('numcores'); :用于获取当前计算机CPU核心数目;

参考

https://www.it610.com/article/1275610528265289728.htm

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值