2018-05-05
MATLAB分布式并行计算中函数的使用
1、parfor 函数
Execute for-loop iterations in parallelon workers in parallel pool - MATLAB parfor- MathWorks 中国
句法:
parfor loopVar = initVal:endVal; statements; end
parfor (loopVar = initVal:endVal,M); statements; end
其中:使用M来指定并行池中用于评估循环体中语句的最大工作数。 M必须是非负整数。
描述:
parfor 可以用来代替 for 循环,在使用要先确定计算机在并行的工作状态下(MATLAB中开启start parallel pool 或 几台计算机先连接成一个局域网并进行环境设置。具体做法不在本文重点,请自行百度 ,因为不会在简书上传文件(不知道是否有此功能))。其目的是让 for 循环可以多核计算机或群集上的并行工作池上执行语句迭代。
parfor 的用法和 for 是不一样的,其区别如下:
1、循环迭代以非确定性的顺序执行,因此要修改 for 的代码,才能使用parfor;
2、循环迭代必须是连续的,增加整数值;
3、parfor 循环的主体必须是独立的,这是为了保证一次循环迭代不依赖于先前的迭代,因为迭代是以非确定的顺序执行的;
4、不能嵌套使用。