[并行计算]Matlab并行计算工具箱(Parallel Computing Toolbox)官方文档教程中文版(3)

Arranged By Zhonglihao @ 2018

**请确认Matlab安装时点选了并行计算工具箱

确定parfor中的循环代码片计算是独立的

Code #3-1
1.clear A  
2.for i = 1:8  
3.A(i) = i;  
4.end  
5.A  
6.
7.% 改写成parfor并行  
8.clear A  
9.parfor i = 1:8  
10.A(i) = i;  
11.end  
12.A  

如代码片#3-1及其结果所示,为一个简单的并行赋值功能,A数组所存储的结果只与索引i的值有关,因此此段改写是合法的。

再看一个例子

Code #3-2
1.clear A  
2.d = 0; i = 0;  
3.for i = 1:4  
4.d = i*2;  
5.A(i) = d;  
6.end  
7.disp('代码2:for-loop');  
8.A  
9.d  
10.i  
11.
12.clear A  
13.d = 0; i = 0;  
14.parfor i = 1:4  
15.d = i*2;  
16.A(i) = d;  
17.end  
18.disp('代码2:parfor-loop');  
19.A  
20.d  
21.i  

上述代码#3-2中希望打印输出观察d和索引i,然而在并行计算中2个值都为0,是因为d和i均为暂存变量被并行处理,因此在处理到终点时d在处理器中的值可以为2,4,6,8,i为1,2,3,4同时存在,因此Matlab无法输出一个确切的值。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值