并行计算-实验二-矩阵乘法的OpenMP实现及性能分析(5页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《并行计算-实验二-矩阵乘法的OpenMP实现及性能分析(5页).doc》由会员分享,可在线阅读,更多相关《并行计算-实验二-矩阵乘法的OpenMP实现及性能分析(5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-并行计算-实验二-矩阵乘法的OpenMP实现及性能分析-第 5 页深 圳 大 学实 验 报 告课程名称:并行计算实验名称:矩阵乘法的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,用户名和初始密码都是自己的学号
2、。三.实验内容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);
3、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
4、;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*bk
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并行 计算 实验 矩阵 乘法 OpenMP 实现 性能 分析
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内