MPI并行计算考试简答题课案.doc

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

并行计算机分类 什么是SIMD并行计算机? 可以同时执行一条指令处理多个数据的计算机 什么是MIMD并行计算机? 可以同时执行多条指令处理多个数据的计算机 什么是SPMD并行计算机? 同时执行一个程序处理多个数据的计算机 什么是MPMD并行计算机? 同时执行多个程序处理多个数据的计算机 什么是分布式内存并行计算机? 各处理器不共享内存的并行计算机 什么是共享内存并行计算机? 处理器共享内存的并行计算机 并行编程模式 隐式并行、数据并行、消息传递、共享变量 现在串行编程语言几乎都是高级语言,为什么在并行计算领域编程语言却还相对级别较低? 并行计算目前还缺乏统一的模型和标准 你知道的并行语言有哪些? HPF,各种并行C,并行C++,并行PASCAL 你认为串行语言和并行语言的区别有哪些? 是否提供并行的结构,是否提供并行的语义 并行算法的分类是怎样的? 粗粒度/细粒度并行算法,同步/异步并行算法 同步并行算法在具有什么特点的并行计算机上可以高效实现? SIMD类并行计算机 粗粒度的并行算法在什么条件下性能优于细粒度的并行算法? 并行的粒度越小就有可能开发更多的并行性提高并行度这是有利的方面但是另一个不利的方面就是并行的粒度越小通信次数和通信量就相对增多这样就增加了额外的开销,因此合适的并行粒度需要根据计算量、通信量、计算速度、通信速度进行综合平衡这样才能够取得高效率。 一个好的并行算法的前提是什么? 一个好的并行算法要既能很好地匹配并行计算机硬件体系结构的特点又能反映问题内在并行性 如何设计适合机群系统的并行算法? 对于机群系统一次通信的开销要远远大于一次计算的开销,因此要尽可能降低通信的次数或将两次通信合并为一次通信,基于同样的原因,机群计算的并行粒度不可能太小,因为这样会大大增加通信的开销,如果能够实现计算和通信的重叠那将会更大地提高整个程序的执行效率。 并行算法的一般设计过程:PCAM设计过程 该过程分为四步:任务划分、通信分析、任务组合和处理器映射,简称PCAM设计过程。 MPI是不是一门并行语言?为什么? 不是,它只是一个消息传递库 目前MPI支持哪些语言? FORTRAN 77/C/Fortran90/C++ MPI的三个主要目标是什么? 功能强/移植性好/性能高 目前MPI的主要免费实现有哪些? MPICH/LAM/CHIMP MPI环境定义的三种缓冲区 应用缓冲区、系统缓冲区、用户向系统注册的通信用缓冲区。 MPI程序一般分为几个部分?  1 头文件  2 变量声明  3 程序开始  4 程序体 5 程序结束 MPI程序中的输出语句和一般串行程序中输出语句的执行结果有什么不同? MPI程序中的输出语句每一个进程都执行,执行时有几个进程就有几条输出语句,而串行程序中输出语句只有本进程输出结果。 不同进程对同一个内容的输出,其顺序是什么? 是随机的。 编写一个C+MPI的程序,实现每一个进程都打印出自己的进程号,总的进程数,本进程所在的机器名以及SAY HELLO TO MPI。 #include mpi.h   #include stdio.h   #include math.h   int main(int argc,char **argv)   {     int myid, numprocs;     int namelen;    char processor_name[MPI_MAX_PROCESSOR_NAME];     MPI_Init(argc,argv);/*程序初始化*/     MPI_Comm_rank(MPI_COMM_WORLD,myid);/*得到当前进程号*/     MPI_Comm_size(MPI_COMM_WORLD,numprocs);/*得到总的进程数*/     MPI_Get_processor_name(processor_name,namelen);/*得到机器名*/     fprintf(stderr, Process %d of %d SAY HELLO TO MPI on %s\n,myid, numprocs, processor_name);     MPI_Finalize();/*结束*/ return 0    } 为了实现基本的MPI通信功能,至少需要几个MPI调用? 不多于6个 MPI程序的第一条和最后一条可执行语句应为什么语句,如果不是这些语句,会导致什么样的后果? 初始化和结束语句,否则后果不可预测 MPI消息传递包括哪几个阶段? 组装,传递,拆卸 MPI消息的组成是怎样的? 消息信封和消息内容 任意源和任意标识的作用是什么? 提供对不特定源和标识的匹配 编写一个简单的实现发送和接收功能的程序。   #include mpi.h   

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档