MPI并行计算考试简答题_第1页
MPI并行计算考试简答题_第2页
MPI并行计算考试简答题_第3页
MPI并行计算考试简答题_第4页
MPI并行计算考试简答题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、并行计算机分类什么是SIMD并行计算机?可以同时执行一条指令处理多个数据的计算机什么是MIMD并行计算机?可以同时执行多条指令处理多个数据的计算机什么是SPMD并行计算机?同时执行一个程序处理多个数据的计算机什么是MPMD并行计算机?同时执行多个程序处理多个数据的计算机什么是分布式内存并行计算机?各处理器不共享内存的并行计算机什么是共享内存并行计算机?处理器共享内存的并行计算机并行编程模式隐式并行、数据并行、消息传递、共享变量现在串行编程语言几乎都是高级语言,为什么在并行计算领域编程语言却还相对级别较低?并行计算目前还缺乏统一的模型和标准你知道的并行语言有哪些?HPF,各种并行C,并行C+,并

2、行PASCAL你认为串行语言和并行语言的区别有哪些?是否提供并行的结构,是否提供并行的语义 并行算法的分类是怎样的?粗粒度/细粒度并行算法,同步/异步并行算法同步并行算法在具有什么特点的并行计算机上可以高效实现?SIMD类并行计算机粗粒度的并行算法在什么条件下性能优于细粒度的并行算法?并行的粒度越小就有可能开发更多的并行性提高并行度这是有利的方面但是另一个不利的方面就是并行的粒度越小通信次数和通信量就相对增多这样就增加了额外的开销,因此合适的并行粒度需要根据计算量、通信量、计算速度、通信速度进行综合平衡这样才能够取得高效率。一个好的并行算法的前提是什么?一个好的并行算法要既能很好地匹配并行计算

3、机硬件体系结构的特点又能反映问题内在并行性如何设计适合机群系统的并行算法?对于机群系统一次通信的开销要远远大于一次计算的开销,因此要尽可能降低通信的次数或将两次通信合并为一次通信,基于同样的原因,机群计算的并行粒度不可能太小,因为这样会大大增加通信的开销,如果能够实现计算和通信的重叠那将会更大地提高整个程序的执行效率。并行算法的一般设计过程:PCAM设计过程该过程分为四步:任务划分、通信分析、任务组合和处理器映射,简称PCAM设计过程。MPI是不是一门并行语言?为什么?不是,它只是一个消息传递库目前MPI支持哪些语言?FORTRAN 77/C/Fortran90/C+MPI的三个主要目标是什么

4、?功能强/移植性好/性能高目前MPI的主要免费实现有哪些?MPICH/LAM/CHIMPMPI环境定义的三种缓冲区应用缓冲区、系统缓冲区、用户向系统注册的通信用缓冲区。MPI程序一般分为几个部分?1 头文件2 变量声明3 程序开始 4 程序体5 程序结束MPI程序中的输出语句和一般串行程序中输出语句的执行结果有什么不同?MPI程序中的输出语句每一个进程都执行,执行时有几个进程就有几条输出语句,而串行程序中输出语句只有本进程输出结果。不同进程对同一个内容的输出,其顺序是什么?是随机的。编写一个C+MPI的程序,实现每一个进程都打印出自己的进程号,总的进程数,本进程所在的机器名以及SAY HELL

5、O TO MPI。#include mpi.h#include #include int main(int argc,char *argv)int myid, numprocs;int namelen;char processor_nameMPI_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(proce

6、ssor_name,&namelen);/*得到机器名*/fprintf(stderr, Process %d of %d SAY HELLO TO MPI on %sn,myid, numprocs, processor_name);MPI_Finalize();/*结束*/return 0为了实现基本的MPI通信功能,至少需要几个MPI调用?不多于6个MPI程序的第一条和最后一条可执行语句应为什么语句,如果不是这些语句,会导致什么样的后果?初始化和结束语句,否则后果不可预测MPI消息传递包括哪几个阶段?组装,传递,拆卸MPI消息的组成是怎样的?消息信封和消息内容任意源和任意标识的作用是什么

7、?提供对不特定源和标识的匹配编写一个简单的实现发送和接收功能的程序。#include mpi.hmain( argc, argv )int argc;char *argv;char message20;int myrank;MPI_Init( &argc, &argv );/* MPI程序的初始化*/MPI_Comm_rank( MPI_COMM_WORLD, &myrank );/* 得到当前进程的标识*/if (myrank = 0) /* 若是 0 进程*/* 先将字符串拷贝到发送缓冲区message中,然后调用MPI_Send语句将它发出,用strlen(message)指定消息的长度

8、,用MPI_CHAR指定消息的数据类型,1指明发往进程1,使用的消息标识是99,MPI_COMM_WORLD是包含本进程(进程0)和接收消息的进程(进程1)的通信域。发送方和接收方必须在同一个通信域中。由通信域来统一协调和控制消息的发送和接收*/strcpy(message,Hello, process 1);MPI_Send(message, strlen(message), MPI_CHAR, 1, 99,MPI_COMM_WORLD);else if(myrank=1) /* 若是进程 1 */*进程1直接执行接收消息的操作,这里它使用message作为接收缓冲区,由此可见,对于同一个变

9、量,在发送进程和接收进程中的作用是不同的。它指定接收消息的最大长度为20,消息的数据类型为MPI_CHAR字符型,接收的消息来自进程0,而接收消息携带的标识必须为99,使用的通信域也是MPI_COMM_WORLD,接收完成后的各种状态信息存放在status中。接收完成后,它直接将接收到的字符串打印在屏幕上。*/MPI_Recv(message, 20, MPI_CHAR, 0, 99, MPI_COMM_WORLD, &status);printf(received :%s:, message);MPI_Finalize();/* MPI程序结束*/ 指出下面两条调用的消息数据和消息信封部分M

10、PI_SEND( buf, count,datatype,dest,tag,comm)MPI_RECV(buf,count,datatype,source,tag,comm,status)在MPI中如何计时?使用MPI_WTIME函数如何终止MPI程序的执行?使用MPI_ABORT调用什么是安全的发送和接收序列?一个进程先执行发送操作,另一个进程先执行相应的接收操作。什么是注定要死锁的发送和接收序列?两个进程都先执行接收操作,再执行发送操作什么是不安全的发送和接收序列?两个进程都先执行发送操作什么是主从模式的MPI程序设计,有何特点?主从模式的MPI程序中不同的进程分工是不同的,比如可以是有的

11、负责数据的收集,有的负责数据的处理,而有的负责数据的输出,他们所起的作用是不同的。什么是对等模式的MPI程序设计,它又有什么特点?对于对等模式的MPI程序,每一个进程都进行类似的工作,相互之间没有特别的不同,在代码上表现为各进程可重用的代码非常多。什么是标准通信模式?举例说明。用户不需要对缓冲区进行管理,一切由MPI环境进行管理比如MPI_SEN 、MPI_RECV语句。什么是缓存通信模式?举例说明。用户必须提供缓冲区并提供对缓冲区的管理,比如MPI_BSEND语句什么是同步通信模式?举例说明。发送调用的返回意味着接收操作已经开始,比如MPI_SSEND语句。什么事就绪通信模式?举例说明。必须

12、等到接收操作开始后才能够发送的调用,比如MPI_RSEND语句。除了标准通信模式外,其它三种通信模式有没有接收调用的形式?没有。非阻塞通信的基本特点是什么?通信语句的调用不必等到通信的完成。非阻塞通信可以分为那些不同的种类?可以有非阻塞发送和非阻塞接收两大类。什么是组通信?组通信有两个基本的特点,一是组内所有的进程都参加,二是各进程组通信调用的参数形式是一致的。组通信和点到点通信的主要区别是什么?组通信需要多方参加,而点到点通信需要两方参加;组通信中各进程的调用形式是一致的,而点到点通信则在调用形式上有不同。组通信中实现通信功能的调用有那些?主要有广播、散发、收集、全互换等组通信中那个调用可以

13、实现同步功能?MPI_Barrier调用组通信中实现计算功能的调用有那些?有归约、组归约、扫描等调用显式指针文件操作和独立指针文件操作的主要区别是什么?显式文件指针操作必须指定文件读取得位置,而独立指针文件操作只是从当前文件指针的位置开始读写操作。线程(thread )是进程上下文(context)中执行的代码序列,又被称为轻量级进程(light weight process ) 在支持多线程的系统中,进程是资源分配的实体,而线程是被调度执行的基本单元。线程与进程的区别区别一:调度区别二:并发性区别三:拥有资源区别四:系统开销第六章:OpenMPOpenMP概述编译制导语句其他的见课件1260页4、简述MPI点对点通信与MPI集合通信的区别。1)在通信子中的所有进程都必须调用相同的集合通信函数。2)每个进程传递给MPI集合通信函数的参数必须是“相容的”。3)参数output_data_p只用在dest_process上。然而,所有进程仍需要传递一个与output_data_p相对应的实际参数,即使它的值只是NULL。4)点对点通信函数是通过标签和通信子来匹配的。集

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论