- 10
- 0
- 约2.43千字
- 约 8页
- 2021-08-13 发布于河北
- 举报
实验三parfor程序的调试
一、 实验目的
熟悉parfor程序的编写。
使用profiler工具分析并行程序的性能。
完成课堂练习。
二、 实验课时:4课时
三、 实验原理
第一部分:Mat lab的parfor的基本使用
Parfor适用于:
1、 大量的简单计算的循环;
2、 大量或少量的复杂计算的循环。
不建议在少量的简单计算的循环中使用parfor,因为它本身也有计算
的损耗。
首先,parfor的i吾法和普通的for语法的区别
Hfor i=1:N f(i);
end
E partor i=l:Nf(i);
end
图1 for和par for语法结构
for语句是按照i的序列顺序执行的,而parfor是由多个worker同
时执行i为不同值的结果,如下图2图3所示:
for i=l:12 fprintf( %d , i);end 123456789 10 11 12?
图2 for语句运行结果
? startmarlabpool
Starting matlabpool using the local profile
〉 parfor i=l: 12 fprintf ( 3d, i); end
2 1 12
4 3 10
6 5 9
8 7 11
第二部分:并行程序的调试与分析
在matlab并行程序中?mat lab提供了专门调试的并行工具profiler, 利用并行profiler可以调试最常见的paralleled job包括SPMD并行结 构和 paralleled job 结构。
并行profiler工具是profile命令和profile viewer的扩展,可以
帮助用户分析Matlab并行程序的性能。
1、查看 mpiprofile 状态:
〉〉mpiprofile status
ans 二
ProfilerStatus: off
Timer: reaT
启动matlab并行任务后’采用mpiprofile査看运行状态如下:
〉〉matlabpool open 2t
Starting marlabpool using the local profile … connected to 2 ? spmd
A=rand(3, 3);
mpiprofile staius
end
Lab 1:
Lab 1:
ans =
ProfilerStatus: off
DetailLevel: mmex
Timer: cpuJ
History-Tracking: off
HistorySize: 1000000
MpiMessageDetail: off
Lab 2:
ans 二
ProfilerStatus: off
DetailLevel: mmex
Timer: cpu
HistoryTracking: off
HistorvSize: 1000000
■MpiMessageDetail: off
2.启动和关闭matlab并行程序分析器
采用mpiprofile on启动并行profile功能,此时并行profile开始
记录程序执行数据。同样,采用mpiprofile off关闭此功能,此时并
行profile停止记录程序执行数据。
3、采用mpiprofile viewer启动并行profile査看功能
File Edit Text Go Cell
Tools | Debug Desktop Window Help
^Code Anat/zer f ■ ■
Editor ? D:\Proqra
stprofile.m
-11
startmatlc
Show Dependency Report
Open Profiler
spmd
Rl=rar
R2-rar
Compare Against Version on Disk
Compare Against
Fixed-Point Toolbox
mpiprofile
P二R1*R2;
on;
mpiprofile
mpiprofile
off; viewer;
图3 profile启动方式
图4 profile启动画面
图5
图5 profile启动查看列表
startmatlabpocl;
spmd
Rl=rand(160f codistributor());
on;R2=rand(160, codistributor()); mpiproflie
on;
P=R1*R2;
off; viewer;mpiproflie
off; viewer;
mpiproflie
end
图6并行profile工具分析结果
点击函数名可以查看函数的分析数据,如下图所示:
codistributed 0 295 sec. 150 23 Kb sent. 1
原创力文档

文档评论(0)