Matlab并行程序设计(二)parfor VS for
来源:互联网 发布:ubuntu更新火狐浏览器 编辑:程序博客网 时间:2024/06/06 16:31
一、执行效果
通过两者生成简单数组向量
function [] = ex2_3()%ex2_3.mstartmatlabpool;N = 8;A1 = zeros(N,1);for i = 1:N A1(i) = i;endA2 = zeros(N,1);parfor i = 1:N A2(i) = i;end[A1 A2]closematlabpool;
>>ex2_3
Starting matlabpool using the 'local' configuration ... connected to 2 labs.
matlabpool 已经启动
ans =
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
Sending a stop signal to all the labs ... stopped.
二、执行顺序
显示简单数组的生成过程
function [] = ex2_4()%function [] = ex2_4()startmatlabpool;N = 8;display('for:');for i = 1:N display(num2str(i));enddisplay('parfor:');parfor i = 1:N display(num2str(i));end
>>ex2_4
Starting matlabpool using the 'local' configuration ... connected to 2 labs.
for:
1
2
3
4
5
6
7
8
parfor:
3
2
1
7
8
6
5
4
而且可以发现parfor的运行结果每次都不尽相同。
三、执行效率
function [] = ex2_5(N)%N 循环次数startmatlabpool;tic;parfor ii = 1:N b(ii) = wastetime2;endt1 = toc; display(strcat('parafor:',num2str(t1),'s')); tic;b = zeros(N,1);for ii = 1:N b(ii) = wastetime2;endt2 = toc; display(strcat('for:',num2str(t2),'s'));function [out] = wastetime2()%function [out] = wastetime2()% a = rand(1e6,10);out = 0;for kk = 1:1e6 out = out + rand;end
>> ex2_5(100)
matlabpool 已经启动
parafor:1.7325s
for:3.4783s
上文简单的比较了parfor与for的不同点,其实两者还有很多的不同之处,比如对变量的影响、循环内外通讯的影响等等。在下面的文章中将进行介绍。
- Matlab并行程序设计(二)parfor VS for
- MATLAB并行:parfor
- MATLAB并行:parfor
- MATLAB并行:parfor
- Matlab的parfor并行编程
- parfor-- matlab并行计算教程
- matlab中的并行方法与理解(2):parfor中的变量类型
- 【高性能】Matlab的并行计算之parfor
- parfor —— matlab 下的并行循环
- Matlab并行程序设计(一)配置matlab并行计算池
- OpenMP并行程序设计(二)
- OpenMP并行程序设计(二)
- OpenMP并行程序设计(二)
- OpenMP并行程序设计(二)
- OpenMP并行程序设计(二)
- OpenMP并行程序设计(二)
- OpenMP并行程序设计(二)
- OpenMP并行程序设计(二)
- Linux下使用文件创建虚拟分区
- 我选择了linux mint 13 xfce !
- Dijkstra算法(最短单源路径)学习笔记
- LinearLayout的layout_weight问题导致手机无法显示全部控件
- android的looper,handler消息小结
- Matlab并行程序设计(二)parfor VS for
- 【转载】浅谈 看图软件 的设计与实现
- iOS 开发 初级:Audio 之 Audio Session
- SD卡写保护原理
- 深刻理解Python中的元类(metaclass)
- svn客户端操作
- Arduino 实验2 - 控制LED闪烁
- 关于IAR中的printf设置
- USACO部分试题答案1.2.4;1.2.5;1.3.1