MATLAB分布式并行计算中函数的使用

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、不能嵌套使用。

代码:


MATLAB分布式并行计算中函数的使用_第1张图片
图 1


MATLAB分布式并行计算中函数的使用_第2张图片
图 2


你可能感兴趣的:(MATLAB分布式并行计算中函数的使用)