ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:389.64KB ,
资源ID:10033933      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10033933.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(并行处理与体系结构实验报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

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

2、22)安装配置文件并且进行设置:运行命令1:touch mpd.conf运行命令2:chmod 600 mpd.conf在mpd.conf文件中输入以下文本内容并保存:MPD_SECRETWORD=mr.chen3)程序编译与运行编译:mpicc filename.c o newname运行:mpirun np number ./filename运行实验代码MPI运行程序 文件夹下面的hello.c、who.c、message.c、isend.c和mtpi.c程序实例,体会MPI中获取进程标识、消息传递及非阻塞通信等工作模式。4.实验结果与分析:通过MPI平台编译“实验代码MPI运行程序”文件

3、夹下面的hello.c、who.c、message.c、isend.c和mtpi.c程序实例。并利用MPI选择线程数量并运行相应可执行程序。相应MPI运行结果如图1.1,图1.2,图1.3,图1.4,图1.5。图1.1 hello.c 编译与运行结果分析:hello.c是非常简单的MPI程序,只用到了MPI中的两个函数,MPI_INIT:启动MPI环境;MPI_FINALIZE:结束MPI环境。编译时确定进程数后,即可显示每个进程的结果。图1.2 who.c 编译与运行结果分析:who.c中除了用到了MPI_INIT和MPI_FINALIZE之外,还用到了MPI_Comm_rank:确定自己的

4、进程标识符;MPI_Comm_size:确定进程数。在编译运行时就可以另每个进程标识自己了。图1.3 mpti.c 编译与运行结果分析:mpti.c同样用到了MPI_Init、MPI_Finalize()、MPI_Comm_rank、MPI_Comm_size。并在who.c的基础上添加了计算圆周率的功能,图1.4 message.c 编译与运行结果分析:message.c在前面几个程序的基础上使用了函数MPI_Recv:接收其它进程消息;MPI_Send:发送一条消息。因此,这个程序实现了进程间的消息传递。图1.5 isend.c 编译与运行结果分析:isend.c较为复杂,同样实现的进程间

5、消息的传递。消息传递模型中各个进程只能直接访问其局部内存空间,而对其他进程的局部内存空间的访问只能通过消息传递来实现。阻塞和非阻塞通信的主要区别在于返回后的资源可用性。阻塞通信返回的条件:1通信操作已经完成,及消息已经发送或接收。2调用的缓冲区可用。若是发送操作,则该缓冲区可以被其它的操作更新;若是接收操作,该缓冲区的数据已经完整,可以被正确引用。非阻塞通信返回后并不意味着通信操作的完成。实验二1.实验题目:共享存储模型与消息传递模型的比较2.实验目的:比较共享存储模型与消息传递模型之间的区别。了解多线程并行和消息传递并行的工作机制。3.实验内容:首先进行Linux下编译器GCC的安装与程序的

6、编译运行。1)编译器GCC安装sudo apt-get install build-essential2)GCC编译与运行OMP程序编译:gcc fopenmp sousefile o destinationfile运行:./destinationfileMPI平台的安装与程序的编译运行见实验一。统计10000个随机数中3出现的次数。OPENMP线程数可为1、2、4等。MPI程序进程数可为1、2、4等。分别利用Ubuntu系统下的GCC,MPI编译运行。4.实验结果与分析:利用GCC编译运行共享存储模型程序代码,运行结果如图2.1。图2.1 共享存储模型程序运行结果从图2.1中可能看出,共享存

7、储模型程序1线程下运行时间为0.000488秒,2线程下运行时间为0.004853秒,4线程下运行时间为0.005289秒。三类不同线程状态下统计出的随机数的数量均为959个。openMP 可以实现拆分循环,每个线程平均负责一部分随机数出现次数的计算,从而加快了计算速度。利用MPI编译运行消息传递模型程序代码,结果如图2.2所示。图2.2 消息传递模型程序运行结果从图2.2看出消息传递模型统计出的随机数个数并不相同,1线程下随机数个数为959,2线程下随机数个数为968,4线程下随机数个数为1028。此MPI程序利用到MPI_Recv、MPI_Send函数进行消息的传递与接收,并通过MPI_R

8、educe函数进行归约,从而达到计算随机数个数的目的。消息传递模型程序见附录。共享存储模型利用共享变量实现并行进程间的通信。消息传递模型中,驻留在不同节点上的进程可以通过传递消息互相通信。两者各有利弊,一个适合用单线程操作于密集的数据结构,一个在异步多线程条件下更有优势。实验三实验题目:八皇后问题实验目的:(1)八皇后问题是计算机中经典智能搜索问题。掌握在MPI虚拟机上进行八皇后问题求解算法及其程序设计、运行。(2) 在分析八皇后的并行算法和MPI源程序基础上。查找相关参考资料,对于一般的n皇后问题,设计其并行算法及其程序,并运行结果。实验内容:在单机或多机上完成8、12、16、32等n皇后问

9、题求解,并比较运行时间,计算加速比。本实验以11皇后为例,利用MPI编译与运行,通过比较不同线程下的运行时间,计算加速比。实验结果与分析:在各个不同线程下求得11皇后的分布结果与用时如图3.1,图3.2,图3.3,图3.4所示。图3.1 单线程下11皇后的分布结果与用时单线程下11皇后运行时间为0.64秒,结果为2680个。图3.2 双线程下11皇后的分布结果与用时双线程下11皇后的运行时间为0.36,结果不变,可得加速比为:0.64/0.36=1.778。图3.3 四线程下11皇后的分布结果与用时双线程下11皇后的运行时间为0.37,结果不变。可得加速比为:0.64/0.37=1.740。图3.4 八线程下11皇后的分布结果与用时八线程下11皇后的运行时间为0.37,结果不变。可得加速比为:0.64/0.37=1.740。从运行时间与加速比可以看出,多线程下确实加快的求解的速度,但一味的增加线程数量并不是总能提高求解速度,反而会增加并行开销,使求解时间变长。此实验条件下双线程下求解效果最好。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1