矩阵乘法的OpenMP实现及性能分析.doc

矩阵乘法的OpenMP实现及性能分析.doc

ID:55749006

大小:210.50 KB

页数:10页

时间:2020-01-13

矩阵乘法的OpenMP实现及性能分析.doc_第1页
矩阵乘法的OpenMP实现及性能分析.doc_第2页
矩阵乘法的OpenMP实现及性能分析.doc_第3页
矩阵乘法的OpenMP实现及性能分析.doc_第4页
矩阵乘法的OpenMP实现及性能分析.doc_第5页
资源描述:

《矩阵乘法的OpenMP实现及性能分析.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一.实验目的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编译制

2、导中schedule的参数,使得执行时间最短,写出代码。方阵a和b的初始值如下:输入:方阵的阶n、并行域的线程数输出:c中所有元素之和、程序的执行时间提示:a,b,c的元素定义为int型,c中所有元素之各定义为longlong型。Windows计时:用中的clock_tclock(void)函数得到当前程序执行的时间Linux计时:#includetimevalstart,end;gettimeofday(&start,NULL);gettimeofday(&e

3、nd,NULL);cout<<"executiontime:"<<(end.tv_sec-start.tv_sec)+(double)(end.tv_usec-start.tv_usec)/1000000<<"seconds"<#include#include#defineNN2000inta[NN][NN],b[NN][NN];longlo

4、ngc[NN][NN];voidsolve(intn,intnum_thread){inti,j,t,k,time;clock_tstartTime,endTime;longlongsum;omp_set_num_threads(num_thread);for(i=0;i

5、d(a,b,c)private(i,j,k){#pragmaompforschedule(dynamic)for(i=0;i

6、n",sum,time);}intmain(){intn,num_thread;while(scanf("%d%d",&n,&num_thread)!=EOF){solve(n,num_thread);}return0;}2.分析矩阵相乘程序的执行时间、加速比和效率:方阵阶固定为1000,节点数分别取1、2、4、8、16和32时,为减少误差,每项实验进行5次,取平均值作为实验结果。答:串行执行时程序的执行时间为:T=15.062s加速比=顺序执行时间/并行执行时间效率=加速比/节点数表1不同节点数下程

7、序的执行时间(秒)节点数实验结果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不同

8、节点数下程序的加速比图3不同节点数下程序的效率执行时间的分析:随着节点数的增加,程序的执行时间减少,大概可以从结果中得出,随着节点书的增加一倍,执行时间减少一半加速比的分析:随着节点数的增加,程序的加速比增加,大概可以从结果中得出,随着节点书的增加一倍,加速相应的增加接近一倍效率的分析:随着节点数的增加,程序的效率逐渐减少3.分析矩阵相乘程序的问题规模与效率的关系:固定节点数为4,让方阵阶从200到1600之间变化,每隔100取一个值。(为了减少时间,每

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

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

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