实验三 parfor程序调试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三parfor程序的调试
一、实验目的
1.熟悉parfor程序的编写。

2.使用profiler工具分析并行程序的性能。

3.完成课堂练习。

二、实验课时:4课时
三、实验原理
第一部分:Matlab的parfor的基本使用
Parfor适用于:
1、大量的简单计算的循环;
2、大量或少量的复杂计算的循环。

不建议在少量的简单计算的循环中使用parfor,因为它本身也有计算的损耗。

首先,parfor的语法和普通的for语法的区别
图1 for和parfor语法结构
for 语句是按照i的序列顺序执行的,而parfor是由多个worker同时执行i为不同值的结果,如下图2图3所示:
图2 for语句运行结果
第二部分:并行程序的调试与分析
在matlab并行程序中,matlab提供了专门调试的并行工具profiler,利用并行profiler 可以调试最常见的paralleled job包括SPMD并行结构和paralleled job结构。

并行profiler工具是profile命令和profile viewer的扩展,可以帮助用户分析Matlab并行程序的性能。

1、查看mpiprofile状态:
启动matlab并行任务后,采用mpiprofile查看运行状态如下:
2、启动和关闭matlab并行程序分析器
采用mpiprofile on启动并行profile功能,此时并行profile开始记录程序执行数据。

同样,采用mpiprofile off关闭此功能,此时并行profile停止记录程序执行数据。

3、采用mpiprofile viewer启动并行profile查看功能
图3 profile启动方式
图4 profile启动画面
图5 profile启动查看列表
图6 并行profile工具分析结果点击函数名可以查看函数的分析数据,如下图所示:
图7 codistributed.mtimes函数分析
四、课堂练习
1.根据附件1的内容完成相应的parfor练习。

2.根据实验二中的练习题2的计算π的并行算法,使用profile工具进行分析。

五、实验报告要求
简述实验目的;写出实验内容中解答各个题目所需要的命令及实验结果;简写实验总结与心得体会。

相关文档
最新文档