




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深 圳 大 学实 验 报 告课程名称:并行计算实验名称:矩阵乘法的OpenMP实现及性能分析姓 名: 学 号:班 级: 实验日期:2011年10月21日、11月4日一.实验目的1) 用OpenMP实现最基本的数值算法“矩阵乘法”2) 掌握for编译制导语句3) 对并行程序进行简单的性能二.实验环境1) 硬件环境:32核CPU、32G内存计算机;2) 软件环境:Linux、Win2003、GCC、MPICH、VS2008;4) Windows登录方式:通过远程桌面连接192.168.150.197,用户名和初始密码都是自己的学号。三.实验内容1. 用OpenMP编写两个n阶的方阵a和b的相乘程序,结果存放在方阵c中,其中乘法用for编译制导语句实现并行化操作,并调节for编译制导中schedule的参数,使得执行时间最短,写出代码。方阵a和b的初始值如下: 输入:方阵的阶n、并行域的线程数输出:c中所有元素之和、程序的执行时间提示:a,b,c的元素定义为int型,c中所有元素之各定义为long long型。Windows计时:用中的clock_t clock( void )函数得到当前程序执行的时间Linux计时:#include timeval start,end;gettimeofday(&start,NULL);gettimeofday(&end,NULL);coutexecution time: (end.tv_sec-start.tv_sec)+(double)(end.tv_usec-start.tv_usec)/ 1000000seconds endl;答:在windows下使用Microsofe Visual Studio编程,源代码如下:#include #include #include #define NN 2000int aNNNN, bNNNN;long long cNNNN;void solve(int n, int num_thread)int i, j, t, k, time;clock_t startTime, endTime;long long sum;omp_set_num_threads(num_thread);for(i=0;in;i+)/对矩阵a和矩阵b进行初始化t=i+1;for(j=0;jn;j+)aij=t+;bij=1;startTime=clock();sum=0;#pragma omp parallel shared(a,b,c) private(i,j,k)#pragma omp for schedule(dynamic)for(i=0;in;i+)for(j=0;jn;j+)cij=0;for(k=0;kn;k+)cij+=aik*bkj;for(i=0;in;i+)for(j=0;jn;j+) sum+=cij;endTime=clock();time=endTime-startTime;printf(sum=%lld time=%dmsn,sum,time);int main()int n, num_thread;while(scanf(%d%d,&n,&num_thread)!=EOF)solve(n,num_thread);return 0;2. 分析矩阵相乘程序的执行时间、加速比和效率:方阵阶固定为1000,节点数分别取1、2、4、8、16和32时,为减少误差,每项实验进行5次,取平均值作为实验结果。答: 串行执行时程序的执行时间为:T = 15.062s加速比=顺序执行时间/并行执行时间效率=加速比/节点数表1 不同节点数下程序的执行时间(秒) 节点数实验结果12481632第1次16.6408.1724.0782.1251.0930.594第2次16.4228.1564.1722.1411.0780.578第3次16.4068.2664.0782.1251.0940.563第4次16.7818.1724.0792.1091.0940.563第5次16.4228.1714.0782.1251.0930.578平均值16.53428.18744.09702.12501.09040.5752图1 不同节点数下程序的执行时间图2 不同节点数下程序的加速比图3 不同节点数下程序的效率执行时间的分析:随着节点数的增加,程序的执行时间减少,大概可以从结果中得出,随着节点书的增加一倍,执行时间减少一半加速比的分析:随着节点数的增加,程序的加速比增加,大概可以从结果中得出,随着节点书的增加一倍,加速相应的增加接近一倍效率的分析:随着节点数的增加,程序的效率逐渐减少3. 分析矩阵相乘程序的问题规模与效率的关系:固定节点数为4,让方阵阶从200到1600之间变化,每隔100取一个值。(为了减少时间,每项实验可只执行1次)答:表2 相同节点数下不同问题规模程序的执行时间与效率方阵阶数并行执行时间串行执行时间效率2000.0150.0470.7833333000.0160.1091.7031254000.0630.2971.1785715000.1560.6571.0528856000.4061.641.0098527000.9073.5780.9862188001.6096.360.9881919002.57810.1090.98031410003.81214.8910.97658711005.3921.0320.9755112007.34428.7340.97814513009.68837.9370.978969140012.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中建集团试题及答案
- 2025幼师教师证试题及答案
- 基站工程师招聘笔试题及解答(某大型集团公司)2025年附答案
- 2025-2030中国工业元宇宙概念验证案例与关键技术成熟度分析
- 2025年安全培训考试题库及答案指导
- 2025-2030中国工业互联网发展趋势及未来投资战略研究报告
- 2025-2030中国夜间经济崛起对啤酒消费影响及营销策略调整报告
- 2025-2030中国城镇燃气应急管理体系构建与实践案例研究报告
- 2025-2030中国啤酒零售终端数字化改造及智能货架对销售转化率影响研究
- 2025-2030中国啤酒行业进口品牌市场渗透策略研究报告
- 公路工程路基石方开挖破碎施工合同8篇
- 初中竞选安全部部长
- 【MOOC】人工智能原理-北京大学 中国大学慕课MOOC答案
- 喷雾干燥塔操作规程模版(3篇)
- 现代交换原理第二章
- 2024版工业润滑油销售协议范例版
- 关闸马路环境监测
- 期中阶段重难点检测卷(第1-3单元)(试题)-2024-2025学年数学五年级上册人教版
- 油漆作业风险和隐患辨识、评估分级与控制措施一览表
- 手术室缩短接台时间
- 冠脉介入进修汇报
评论
0/150
提交评论