版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MPI ProgrammingMPI Introductiono MPI-Message Passing Interfaceo MPI is a library, not a programming languageo MPI is a standard, not a specific implementationImplementations of MPI Specificationo MPICH (Argonne)o MSMPI (Microsoft)MPI程序的初始化o 任何一个任何一个MPI程序在调用程序在调用MPI函数之前,函数之前,首先调用的是初始化函数首先调用的是初始化函数MPI
2、_INIT. o 建立建立MPI的执行环境的执行环境o int MPI_Init(int *argc, char *argv)n Input Parameters: * argc - Pointer to the number of arguments * * * argv - Pointer to the argument vectorn 将命令行参数传给各个进程获取通信域包含的进程数o MPI_Comm_size(MPI_Comm, int *size)n MPI_Comm的默认值为MPI_COMM_WORLD,它包括了初始化时可得的全部进程。n 函数返回时,size中存放指定通信域中的进
3、程数。获取当前进程标识o MPI_Comm_rank(MPI_Comm comm, int *rank)n 函数返回时,rank中存放当前进程在给定的通信域中的进程标识号。n 进程标识号用来将自身和其它的进程区别开来,实现进程间的通信。消息发送o 源进程将缓存中的数据发送到目的进程o MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)o buf:发送缓存的起始地址o count:发送的数据个数o datatype:数据类型o dest:目的进程标识号o Tag:消息标志o
4、 comm:通信域MPI预定义的数据类型消息接收o 目的进程从源进程接受数据,存入缓存中o MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)o buf:接收缓存的起始地址o count:最多可接收的数据个数o datatype:数据类型o source:发送数据的进程标识号o Tag:消息标志o comm:通信域o Status:返回状态MPI程序结束o MPI程序的最后一个调用必须为:n MPI_Finalize()o 结束
5、MPI程序的执行Hello WorldIllustration of point-to-point message passingSender & receiver must matcho Count and datatypeo Tag and communicatorMPI应用环境o 应用环境的基本元素nN 个进程:0N-1n进程之间的通信路径o 通信域MPI_COMM_WORLDn进程的集合以及通路nMPI_Comm_size:进程的总数NnMPI_Comm_rank:某一进程的具体标识o 编译及运行(linux)nMpicc o hello Mpirun np 4 ./hello
6、Notes on program exampleo Each statement executes independently in each processo MPI_COMM_WORLD is defined by mpi.ho mpi.h must be #includedMPI的常用组通信接口-广播o 根进程将一条消息发送到组内的所有其它的进程,同时也包括它本身在内。o MPI_Bcast(void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)n buffer:通信消息缓存的起始地址n count
7、:数据个数n datatype:数据类型n root:根进程的标识号n comm:通信域MPI的常用组通信接口-归约o 将每个进程缓冲区中的数据按给定的操作进行计算,并将计算结果返回到根进程的输出缓冲区中。nMPI_Reduce(void* sendbuf, void* recvbuf, int count, MPI_Datatype, MPI_Op op, int root, MPI_Comm comm)o sendbuf:发送消息缓存的起始地址o recvbuf:接收消息缓存的起始地址o count:发送缓存中的数据个数o op:归约操作符o root:根进程序列号o comm:通信域MPI预定义的归约操作o 用户也可以使用MPI_Op_create自定义归约操作MPI归约操作的实现MPI_Bcast()和MPI_Reduce()应用Barrierso Blocks until all processes in the communicator have reached this routineo A point at which all processes must wait until all other processes have reached that pointo MPI_Barrier(MPI_Comm comm)Synchronous &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年北航自动化科学与电气工程学院仿真工程与模型体系课题组聘用编管理人员F岗招聘备考题库及完整答案详解一套
- 中国人民财产保险股份有限公司山东省分公司2026年校园招聘备考题库及完整答案详解1套
- 2026年广州市第一人民医院总院医务部编外人员招聘备考题库及答案详解(夺冠系列)
- 中国医学科学院药物研究所2026年度面向社会公开招聘23人备考题库及答案详解(考点梳理)
- 校园社团活动中的领导力与影响力培养策略研究课题报告教学研究课题报告
- new共青团中央所属单位2026年度高校毕业生公开招聘66人备考题库及1套参考答案详解
- 2026年漯河医学高等专科学校第二附属医院(漯河市立医院、漯河市骨科医院)人才引进备考题库及参考答案详解一套
- 延安大学2026年人事代理人员招聘备考题库及一套答案详解
- 初中语文教学中阅读理解能力的培养策略与实践研究课题报告教学研究课题报告
- 2025年研学旅行安全五年保险应急处理评估建议
- 2025年1月浙江省普通高中学业水平考试思想政治试卷(含答案详解)
- 2025年高压电工操作证理论全国考试题库(含答案)
- 足疗卡销售高转化话术
- 2025年湖南理工职业技术学院单招(计算机)测试模拟题库必考题
- 2025年山西省朔州市公安辅警招聘知识考试题(含答案)
- 买院子合同协议书
- 高二化学(人教版)试题 选择性必修一 模块质量检测(二)
- 癫痫常见症状及护理培训课程
- (新教材)2025年部编人教版三年级上册语文第七单元复习课件
- 后勤保障医院运维成本智能调控
- 麻醉睡眠门诊科普
评论
0/150
提交评论