实验三parfor程序调试
实验三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 函数分析
四、课堂练习
1.根据附件1的内容完成相应的parfor练习。
2.根据实验二中的练习题2的计算π的并行算法,使用profile工具进行
分析。
五、实验报告要求
简述实验目的;写出实验内容中解答各个题目所需要的命令及实验结果;简写实验总结与心得体会。