对于
-loop在分布式范围
对于变量
= drange(colonop
)语句...语句结束
一般格式为
对于变量= drange(colonop)语句...语句结束
该colonop
是形式的表达开始:增量:完成
要么开始:结束
。增量的默认值是1。colonop
被分割codistributed.colon
成numlabs
几乎相等的长度的连续片段。每个段成为上的单个工人用于传统for循环的迭代器。
循环体的最重要的属性是每个迭代必须是独立于其他迭代。从逻辑上讲,迭代可以按任意顺序进行。与其他工人没有通信循环体中不允许。执行通信的功能是GOP
,g催化剂
,gplus
,codistributor
,codistributed
,收集
和重新分配
。
因此能够codistributed阵列是本地的每个工人的接入部分,但它不可能codistributed阵列的访问的其他部分。
该打破
声明可以用于提前终止循环。
寻找幻方的排名。访问仅codistributed阵列的局部部分。
R =零(1,40,codistributor());对于N = drange(1:40)R(N)=秩(魔(N));结束R =聚(R);
进行PI的蒙特卡洛近似。每个工人被初始化为不同的随机数的状态。
M = 10000;对于P = drange(1:numlabs)Z =兰特(M,1)+ I *兰特(M,1);C =总和(ABS(Z)<1)结束K = gplus(c)中P = 4 * K /(M * numlabs);
尝试计算斐波那契数。这将不工作,因为循环体依赖。
F =零(1,50,codistributor());F(1)= 1;F(2)= 2;对于N = drange(3:50)F(N)= F(N-1)+ F(N-2)结束