




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高性能计算练习实验报告A组:一.问题描述A02. 从键盘输入一个无符号长整型数n,产生一个长度为n,取值在0,1之间的随机实数数组,计算其去掉一个最大值、去掉一个最小值,hy剩下n2个值的平均值。二.算法设计分为两个线程,每个线程负责查找一半的数中最小的和最大的,并且统计所有的数的和,然后由0号线程进行两个最小的(最大的)数的比较,找出整个数组中最大和最小的数,最后由0号线程取两个和,减去最大最小数,求平均值。三.重点及难点1. 线程之间的通信。2. 每个线程都要计算总和,并找出最大最小数。3. 0号线程完成最后的统筹工作。四.代码#include mpi.h#include #include using namespace std;double num100;void init(double num, int len)for (int i = 0; i 100; i+) numi = (double)(rand() % 100) / 100.0;MPI_Bcast(num, len, MPI_DOUBLE, 0, MPI_COMM_WORLD);void proc(int start, int end, double &Min, double &Max, double &Sum)for (int i = start; i numi ? Max : numi;Min = Min numi ? Min : numi;Sum += numi;int main(int argc, char* argv)int rank, np;MPI_Status status;MPI_Init(&argc, &argv);MPI_Comm_rank(MPI_COMM_WORLD, &rank);MPI_Comm_size(MPI_COMM_WORLD, &np);init(num, 100);double Min = 1.1, Max = -0.1, Sum = 0.0;double tMin, tMax, tSum;if (rank = 0) proc(0, 50, Min, Max, Sum);tMin = Min, tMax = Max, tSum = Sum;MPI_Recv(&Min, 1, MPI_DOUBLE, 1, 1, MPI_COMM_WORLD, &status);tMin = tMin Max ? tMax : Max;MPI_Recv(&Sum, 1, MPI_DOUBLE, 1, 20, MPI_COMM_WORLD, &status);tSum += Sum;printf(Cal: %lf, %lf, %lfn, tMin, tMax, (tSum - tMin - tMax) / 98.0); else proc(51, 100, Min, Max, Sum);MPI_Send(&Min, 1, MPI_DOUBLE, 0, 1, MPI_COMM_WORLD);MPI_Send(&Max, 1, MPI_DOUBLE, 0, 10, MPI_COMM_WORLD);MPI_Send(&Sum, 1, MPI_DOUBLE, 0, 20, MPI_COMM_WORLD);MPI_Finalize();return 0;五.结果分析结果正确B组:一. 问题描述B08.(八皇后问题)在8*8格的棋盘上,放置8个皇后。要求每行每列放一个皇后,而且每一条对角线和每一条反对角线上最多只能有一个皇后,即对同时放置在棋盘的任意两个皇后和,不允许或者的情况出现。二.算法设计用一个一维数组完全可以标示整个棋盘。要注意的是,由于每一行每一列都不重复,即数组中存放的必是一个由0-7组成的全排列。采用一维数组的全排列,解决了同一行无重复棋子(一维数组来保证,因为数组每个下表只对应一个元素),同一列无重复棋子(全排列来保证,因为全排列每个元素在数组中只出现一次),这样先将八皇后问题转化成了求解一维数组全排列问题。三.重点及难点1. 当要判断第七行,即数组下标是6的行元素与其对角线上的棋子是否有冲突,仅仅需要判断其试探棋子向前做加(或减)操作,获得的值是否与相应位置相同即可。2. 在计算全排列的时候,增加一个flags数组,用来标记当前第n个元素是否被占用。四.关键代码#includestdafx.h#include#include#ifndefMPICH_SKIP_MPICXX#defineMPICH_SKIP_MPICXX#endif#includeusingstd:cout;usingstd:endl;usingstd:cerr;usingstd:ofstream;usingstd:ifstream;#defineN 8voidoutPut(constint& size,int*array,ofstream & file)for(inti = 0 ; i size ; i+)filearrayi;fileendl;boolisContact(constint&deep,constint*const&array)inttemp;for(inti = 1 ; i deep+1 ; i+)temp =arraydeep-i;if(arraydeep -i = temp |arraydeep + i = temp )returntrue;returnfalse;voidrange(constint& size,constint&deep,int*const&flags,int*&array,int&count, ofstream &file) for(inti = 0 ; i size ; i+)if(!flagsi)arraydeep = i;if(deep !=0)if(isContact(deep,array)continue;flagsi = 1;if(deep = size-1)outPut(size,array,file);count+;elserange(size,deep+1,flags,array,count,file);arraydeep = -1;flagsi = 0;voidmpi_range(constint& size,int*&flags,int*&array,constint&myId)ofstream file;file.open(temp.txt,std:ios:out | std:ios:app);flags =newintN;array=newintN;memset(flags,0,sizeof(int)*N);memset(array,-1,sizeof(int)*N);flagsmyId = 1;array0 = myId;intcount = 0 ;inttotalCount = 0;range(N,1,flags,array,count,file);MPI_Reduce(&count,&totalCount,1,MPI_INT,MPI_SUM,0,MPI_COMM_WORLD);if(myId = 0)cerrtotalCountendl;file.close();int_tmain(intargc,char* argv)intsize;intmyId;ofstream file;MPI_Init(&argc,&argv);MPI_Comm_size(MPI_COMM_WORLD,&size);MPI_Comm_rank(MPI_COMM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国制药行业清洁生产技术应用与减排效益分析报告
- 2025年宝鸡方塘高级中学教师招聘(34人)模拟试卷附答案详解
- 2025年智能制造与工业自动化
- 2025年智能音箱的用户行为与市场分析
- 2025年4月广东广州市天河区华港幼儿园编外聘用制专任教师招聘1人模拟试卷及参考答案详解1套
- 2025年福建省三明市尤溪县总医院招聘10人考前自测高频考点模拟试题及答案详解(新)
- 2025广西防城港市防城区政务服务监督管理办公室招聘1人考前自测高频考点模拟试题附答案详解(典型题)
- 2025广西河池市巴马瑶族自治县消防救援大队招录3人考前自测高频考点模拟试题含答案详解
- 2025广东深圳市九洲电器有限公司关IQC招聘1人考前自测高频考点模拟试题附答案详解(完整版)
- 2025年温州市法院系统招聘真题
- 青春期生殖健康教育
- 2025年BM²T电池管理技术白皮书-阳光电源
- 2024-2025学年下学期高二英语外研社版期中必刷常考题之被动语态
- 中医诊所招学徒合同标准文本
- 汉语言文学毕业论文-鲁迅小说中的知识分子形象
- 长期供应商供货合同书
- 如何缓解焦虑和压力
- 垃圾分类志愿服务
- ccusg重症超声培训班题库
- 冀教版八年级数学 13.4 三角形的尺规作图(学习、上课课件)
- 2024年锅炉操作工(技师)职业鉴定理论考试题库(含答案)
评论
0/150
提交评论