并行计算实验二报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并行计算实验二报告

广东技术师范学院实验报告 学院: 计算机科学学院 专业: 计算机科学与技术 班级: 成绩: 姓名: 学号: 组别: 组员: 实验地点: 工业中心203 实验日期: 指导教师签名: 预习情况 操作情况 考勤情况 数据处理情况 实验 (二) 项目名称: 并行程序设计 1.编写一个计算矩阵乘积的并行程序。统计采用不同优化选项编译该程序生成的代码的运行时间,根据程序的计算量和运行时间计算出程序的实际浮点性能(以MFLOPS为单位)和效率(实际性能/处理器峰值性能),并将结果填写在下表中(根据需要加行)。 提示:用“time程序名”可以得到程序的运行时间。 优化选项 运行时间/s 性能/MFLOPS 效率/% 0.000978616 0.637 51.9 去掉不相关的输出 0 0.956 77.9 源程序代码: #include mpi.h #include iostream.h #includestdlib.h #include time.h #include fstream.h const int N=10, M=10,H=10,P=10; void main(int argc, char *argv[]) { int i, j, k, t ; int a[N][M]; //矩阵A int b[M][P]; //矩阵B long int c[N][P]; //结果矩阵 int ArraySize[4]; //矩阵的行数和列数 int myid, rank, numprocs, namelen; double mypi, pi; double startwtime, endwtime; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(argc, argv); MPI_Comm_size(MPI_COMM_WORLD, numprocs); MPI_Comm_rank(MPI_COMM_WORLD, myid); MPI_Comm_rank(MPI_COMM_WORLD, rank); MPI_Get_processor_name(processor_name, namelen); ArraySize[0]=N;ArraySize[1]=M;ArraySize[2]=H;ArraySize[3]=P; ofstream sinput; sinput.open(sinput.txt); //新建一个sinput.txt //************************************************************** //使用的代码 /* for(i = 0; i ArraySize[0]; i++) { for(j = 0; j ArraySize[1]; j++) { sinput rand() % 100 ; } } coutendl; coutendl; for(i = 0; i ArraySize[2]; i++) { for(j = 0; j ArraySize[3]; j++) { sinput rand() % 100 ; } } */ //************************************************************** coutProcess:myid 主机名:processor_nameendl; if(myid == 0) { t = 10000; startwtime = MPI_Wtime(); } if(rank == 0) { //****************************************************** ifstream in(sinput.txt); // cout请输入矩阵a的行列数:\n行数:; //cinArraySize[0]; // ArraySize[0]=N; // cout列数:; // cinArraySize[1]; // ArraySize[1]=M; // cout请输入矩阵b的行列数:\n行数:; //cinArraySize[2]; // ArraySize[2]=H; // cout列数:; // cinArraySize[3]; // ArraySize[3]=P; //************

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档