曙光:机群应用开发(并行编程原理及程序设计)Parallel Programming - Fundamentals and Implementation(MPI并行程序设计 Parallel Programming with the Massage Passing Interface(MPI))

DAWNING 乡 曙光 DAWNING 科拔计算未来 机群应用开发 并行编程原理及 程序设计 Parallel Programming: Fundamentals and Implementation 曙光信息产业有限公司 2021年1月 2021年1月 MP|并行程序设计 1/217
2021年1月 MPI并行程序设计 1/217 机群应用开发 并行编程原理及 程序设计 Parallel Programming: Fundamentals and Implementation 曙光信息产业有限公司 2021年1月

DAWNING 乡 曙光 DAWNING 科拔计算未来 MP并行程序设计 Parallel Programming with the Massage Passing Interface(MPl) 2021年1月 MP|并行程序设计 4/217
2021年1月 MPI并行程序设计 4/217 MPI并行程序设计 Parallel Programming with the Massage Passing Interface (MPI)

DAWNING 乡 曙光 DAWNING 并行编程标准 科拔计算未来 多线程库标准 Win 32 AP POSIX threads 编译制导标准 OpenMP-可移植共享存储并行编程标准. 消息传递库标准 本讨论的重 MPI PVM 2021年1月 MP|并行程序设计 5/217
2021年1月 MPI并行程序设计 5/217 • 多线程库标准 – – Win32 API. – – POSIX threads. • 编译制导标准 – – OpenMP – 可移植共享存储并行编程标准. • 消息传递库标准 – – MPI – – PVM 并行编程标准 本讨论的重点

DAWNING 乡 曙光 DAWNING 消息传递并行程序设计 科拔计算未来 消息传递并行程序设计 一指用户必须通过显式地发送和接收消息来实现处理机间的数据交 换 一在这种并行编程中,每个并行进程均有自己独立的地址空间,相 互之间访问不能直接进行,必须通过显式的消息传递来实现。 这种编程方式是大规模并行处理机(MPP)和机群( Cluster)采 用的主要编程方式。 ·并行计算粒度大,特别适合于大规模可扩展并行算法 由于消息传递程序设计要求用户很好地分解问题组织不同进程间 的数据交换,并行计算粒度大,特别适合于大规模可扩展并行算法. ·消息传递是当前并行计算领域的一个非常重要的并行程序 设计方式 2021年1月 MP|并行程序设计 6/217
2021年1月 MPI并行程序设计 6/217 消息传递并行程序设计 • 消息传递并行程序设计 – 指用户必须通过显式地发送和接收消息来实现处理机间的数据交 换。 – 在这种并行编程中,每个并行进程均有自己独立的地址空间,相 互之间访问不能直接进行,必须通过显式的消息传递来实现。 – 这种编程方式是大规模并行处理机(MPP)和机群(Cluster)采 用的主要编程方式。 • 并行计算粒度大,特别适合于大规模可扩展并行算法 – 由于消息传递程序设计要求用户很好地分解问题,组织不同进程间 的数据交换,并行计算粒度大,特别适合于大规模可扩展并行算法. • 消息传递是当前并行计算领域的一个非常重要的并行程序 设计方式

DAWNING 乡 曙光 DAWNING 什么是MP? 科拔计算未来 Massage Passing Interface:是消息传递函数库的 标准规范,由MP论坛开发,支持 Fortran和C 一种新的库描述,不是一种语言。共有上百个函数调 用接口,在 Fortran和C语言中可以直接对这些函数进行 调用 MP|是一种标准或规范的代表,而不是特指某一个对它 的具体实现 MPl是一种消息传递编程模型,并成为这种编程模型的 代表和事实上的标准 2021年1月 MP|并行程序设计 7/217
2021年1月 MPI并行程序设计 7/217 什么是MPI? • Massage Passing Interface:是消息传递函数库的 标准规范,由MPI论坛开发,支持Fortran和C – 一种新的库描述,不是一种语言。共有上百个函数调 用接口,在Fortran和C语言中可以直接对这些函数进行 调用 – MPI是一种标准或规范的代表,而不是特指某一个对它 的具体实现 – MPI是一种消息传递编程模型,并成为这种编程模型的 代表和事实上的标准

DAWNING 乡 曙光 DAWNING MP的发展过程 科拔计算未来 发展的两个阶段 -MP1.1:1995 MPCH:是MP|最流行的非专利实现,由 Argonne国家 实验室和密西西比州立大学联合开发,具有更好的可 移植性. MP|1.2~2.0:动态进程,并行MO,支持F90和 C++(1997) 2021年1月 MP|并行程序设计 8/217
2021年1月 MPI并行程序设计 8/217 MPI的发展过程 • 发展的两个阶段 – MPI 1.1: 1995 • MPICH:是MPI最流行的非专利实现,由Argonne国家 实验室和密西西比州立大学联合开发,具有更好的可 移植性. – MPI 1.2~2.0:动态进程, 并行 I/O, 支持F90和 C++(1997)

DAWNING 乡 曙光 DAWNING 为什么要用MP? 科拔计算未来 高可移植性 MP|已在|BMPC机上、 MS Windows上、所有主要的 Uniⅸx工作站上和所有主流的并行机上得到实现。使用 MP作消息传递的C或 Fortran并行程序可不加改变地运 行在|BMPC、 MS Windows、Uni工作站、以及各种并 行机上 2021年1月 MP|并行程序设计 9/217
2021年1月 MPI并行程序设计 9/217 为什么要用MPI? • 高可移植性 – MPI已在IBM PC机上、MS Windows上、所有主要的 Unix工作站上和所有主流的并行机上得到实现。使用 MPI作消息传递的C或Fortran并行程序可不加改变地运 行在IBM PC、MS Windows、Unix工作站、以及各种并 行机上

DAWNING 乡 曙光 DAWNING 讲座内容提示 科拔计算未来 ·基本的MP 基本概念 点到点通信( Point to point) MP|中AP的主要内容,为MP最基本,最重要的内容 MP序的编译和运行 ·深入MP 用户自定义派生数据类型User- defined(Derived) data type 事实上MP的所有数据类型均为MP自定义类型 支持异构系统 允许消息来自不连续的或类型不一致的存储区(结构数组散元 集合通信( Collective ·数据移动,数据聚集,同步 基于 point to point构建 MP环境管理函数 组,上下文和通信空间通信子的管理 实例 2021年1月 MP|并行程序设计 10/217
2021年1月 MPI并行程序设计 10/217 讲座内容提示 • 基本的MPI – 基本概念 – 点到点通信(Point to point) • MPI中API的主要内容,为MPI最基本,最重要的内容 – MPI程序的编译和运行 • 深入MPI – 用户自定义(/派生)数据类型(User-defined(Derived) data type) • 事实上MPI的所有数据类型均为MPI自定义类型 – 支持异构系统 – 允许消息来自不连续的或类型不一致的存储区(结构,数组散元) – 集合通信(Collective) • 数据移动,数据聚集,同步 • 基于point to point 构建 – MPI环境管理函数 • 组,上下文和通信空间/通信子的管理 • 实例

DAWNING 乡 曙光 DAWNING 从简单入手! 科拔计算未来 下面我们首先分别以C语言和 Fortran语言的 形式给出一个最简单的MP|并行程序He|o (下页) 该程序在终端打印出 Hello world!字样. ·“He| lo World:一声来自新生儿的问候 2021年1月 MP|并行程序设计 11/217
2021年1月 MPI并行程序设计 11/217 从简单入手! • 下面我们首先分别以C语言和Fortran语言的 形式给出一个最简单的MPI并行程序Hello (下页). • 该程序在终端打印出Hello World!字样. • “Hello World”:一声来自新生儿的问候

DAWNING 乡 曙光 DAWNING 科拔计算未来 Hello world(c) include include "mpi. h w main( int argc, char *argv [] MPI Init( &argc, &argv printf("Hello, world! \n") MPI Finalize 2021年1月 MP|并行程序设计 12/217
2021年1月 MPI并行程序设计 12/217 Hello world(C) #include #include "mpi.h“ main( int argc, char *argv[] ) { MPI_Init( &argc, &argv ); printf( "Hello, world!\n" ); MPI_Finalize(); }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中科院昆明动物研究所培训:曙光5000A超级计算机.ppt
- 《网页设计教程》PPT课件:第9章 美化网页.ppt
- 《网页设计教程》PPT课件:第8章 网页表单的处理.ppt
- 《网页设计教程》PPT课件:第7章 在网页中使用超链接.ppt
- 《网页设计教程》PPT课件:第6章 网页图像处理.ppt
- 《网页设计教程》PPT课件:第5章 网页框架的处理.ppt
- 《网页设计教程》PPT课件:第4章 网页表格的处理.ppt
- 《网页设计教程》PPT课件:第3章 网页文本的处理.ppt
- 《网页设计教程》PPT课件:第2章 创建站点.ppt
- 《网页设计教程》PPT课件:第12章 利用ADO实现网页与数据库的链接.ppt
- 《网页设计教程》PPT课件:第11章 示例网页利用ASP实现交互功能.ppt
- 《网页设计教程》PPT课件:第10章 JavaScript和DHTML技术.ppt
- 《网页设计教程》PPT课件:第1章 网页制作初识.ppt
- 《C语言程序设计》课程教学资源:习题1(第1-第6章).doc
- 《C语言程序设计》课程教学资源:习题2(第7-第10章).doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十三章 文件.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十二章 位运算.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十一章 结构体、公用体、枚举类型及其它.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十章 指 针.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第九章 编译预处理.ppt
- 高性能计算机和曙光GHPC1000集群系统.ppt
- linux系统知识培训(PPT讲稿).pptx
- 《数字图像处理技术 Digital Image Processing》课程教学资源(教学大纲).pdf
- MATLAB简介.ppt
- 《计算机辅助设计(CD)》课程教学大纲.pdf
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)SDL(Simple DirectMedia Layer)图形程序设计.pptx
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)程序设计专题——结构化程序设计与递归函数.pptx
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)程序设计专题——结构.pptx
- 分布式虚拟环境:虚拟现实的基础理论、算法及实现项目结题报告(分布并行图形绘制技术及系统).ppt
- 浙江大学:R语言基础(PPT讲稿).pptx
- 浙江大学信息与电子工程学系:《无线网络应用》课程教学资源(PPT讲稿)网线制作实验.ppt
- 浙江大学:《计算机控制装置》课程教学资源(PPT讲稿)计算机控制系统的抗干扰设计.ppt
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)查找、排序.pptx
- 数据结构与控制算法分析(PPT专题讲稿)查找与排序.ppt
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)简单图形库介绍.pptx
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)数据可视化基础.ppt
- Python的基本应用(PYTHON的入门应用).pptx
- 浙江大学计算机科学与技术学院:C语言程序设计基础与试验(PPT讲稿).ppt
- 耶鲁大学:A Sparse Parametric Mixture Model for BTF Compression, Editing and Rendering.ppsx
- 浙江大学:程序设计专题(PPT讲稿)结构化程序设计与递归函数(刘新国).pptx