并行处理与体系结构实验报告

并行处理与体系结构实验报告

ID:10844249

大小:598.00 KB

页数:13页

时间:2018-07-08

并行处理与体系结构实验报告_第1页
并行处理与体系结构实验报告_第2页
并行处理与体系结构实验报告_第3页
并行处理与体系结构实验报告_第4页
并行处理与体系结构实验报告_第5页
资源描述:

《并行处理与体系结构实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、并行处理及体系结构实验报告ParallelComputingandarchitectureExperimentReport班级:计算机科学与技术学号:姓名:指导教师:信息学院2013年11月12实验一1.实验题目:MPI安装与程序编译、运行和调试2.实验目的:搭建MPI并行编程环境,开发并行程序;学习并行程序的编写、编译、运行步骤,了解系统结构对编程模式和环境工具的影响。3.实验内容:通过查找资料,在Ubuntu下安装MPI平台。1)MPI安装进入终端,选择一个自己的目录,安装MPICH2,运行命令:sudoapt-geti

2、nstallmpich22)安装配置文件并且进行设置:运行命令1:touchmpd.conf运行命令2:chmod600mpd.conf在mpd.conf文件中输入以下文本内容并保存:MPD_SECRETWORD=mr.chen3)程序编译与运行编译:mpicc[filename.c]–o[newname]运行:mpirun–np[number]./[filename]运行实验代码MPI运行程序文件夹下面的hello.c、who.c12、message.c、isend.c和mtpi.c程序实例,体会MPI中获取进程标识

3、、消息传递及非阻塞通信等工作模式。4.实验结果与分析:通过MPI平台编译“实验代码MPI运行程序”文件夹下面的hello.c、who.c、message.c、isend.c和mtpi.c程序实例。并利用MPI选择线程数量并运行相应可执行程序。相应MPI运行结果如图1.1,图1.2,图1.3,图1.4,图1.5。图1.1hello.c编译与运行结果分析:hello.c是非常简单的MPI程序,只用到了MPI中的两个函数,MPI_INIT:启动MPI环境;MPI_FINALIZE:结束MPI环境。编译时确定进程数后,即可显示每

4、个进程的结果。12图1.2who.c编译与运行结果分析:who.c中除了用到了MPI_INIT和MPI_FINALIZE之外,还用到了MPI_Comm_rank:确定自己的进程标识符;MPI_Comm_size:确定进程数。在编译运行时就可以另每个进程标识自己了。12图1.3mpti.c编译与运行结果分析:mpti.c同样用到了MPI_Init、MPI_Finalize()、MPI_Comm_rank、MPI_Comm_size。并在who.c的基础上添加了计算圆周率的功能,图1.4message.c编译与运行结果分析:me

5、ssage.c在前面几个程序的基础上使用了函数MPI_Recv:接收其它进程消息;MPI_Send:发送一条消息。因此,这个程序实现了进程间的消息传递。12图1.5isend.c编译与运行结果分析:isend.c较为复杂,同样实现的进程间消息的传递。消息传递模型中各个进程只能直接访问其局部内存空间,而对其他进程的局部内存空间的访问只能通过消息传递来实现。阻塞和非阻塞通信的主要区别在于返回后的资源可用性。阻塞通信返回的条件:1通信操作已经完成,及消息已经发送或接收。2调用的缓冲区可用。若是发送操作,则该缓冲区可以被其它的操作更

6、新;若是接收操作,该缓冲区的数据已经完整,可以被正确引用。非阻塞通信返回后并不意味着通信操作的完成。12实验二1.实验题目:共享存储模型与消息传递模型的比较2.实验目的:比较共享存储模型与消息传递模型之间的区别。了解多线程并行和消息传递并行的工作机制。3.实验内容:首先进行Linux下编译器GCC的安装与程序的编译运行。1)编译器GCC安装sudoapt-getinstallbuild-essential2)GCC编译与运行OMP程序编译:gcc–fopenmp[sousefile]–o[destinationfile]运行

7、:./[destinationfile]MPI平台的安装与程序的编译运行见实验一。统计10000个随机数中3出现的次数。OPENMP线程数可为1、2、4等。MPI程序进程数可为1、2、4等。分别利用Ubuntu系统下的GCC,MPI编译运行。4.实验结果与分析:利用GCC编译运行共享存储模型程序代码,运行结果如图2.1。12图2.1共享存储模型程序运行结果从图2.1中可能看出,共享存储模型程序1线程下运行时间为0.000488秒,2线程下运行时间为0.004853秒,4线程下运行时间为0.005289秒。三类不同线程状态下统

8、计出的随机数的数量均为959个。openMP可以实现拆分循环,每个线程平均负责一部分随机数出现次数的计算,从而加快了计算速度。利用MPI编译运行消息传递模型程序代码,结果如图2.2所示。12图2.2消息传递模型程序运行结果从图2.2看出消息传递模型统计出的随机数个数并不相同,1线程下随机数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。