计算机系统结构中mpi是什么意思

计算机系统结构中mpi是什么意思,第1张

并行编程环境:MPI

MPI是一种基于消息传递的并行编程技术,在不同节点计算机之间并行多进程执行程序(这种情况下,不同享内存),只是通过消息传递来进行通信,从而适用于分布式体系

我读研的时候也是分布式计算方向,相关的课程学了分布式系统和并行计算。基础知识的话, *** 作系统、数据库作为分布式系统的基础是必备的,编程语言主要是C语言(也用Java)。

关于怎么才能学好,我的建议是多实践。要想学好分布式计算,一定要自己安装分布式/并行计算平台,例如简单的PVM、MPI,复杂一些的网格计算的Globus Toolkit、云计算的OpenStack,然后用这些平台,动手编程解决一些问题。这些问题可以很简单(例如获取系统时间),关键是了解怎么用分布式计算技术解决实际问题,而不是只停留在空洞的理论概念层面。

MPI(message passing interface),是一个消息传递接口。MPI的函数总共有287个。

想实现一个MPI并行计算的程序的话,只要掌握MPI的工作机理和6个简单的MPI函数便可以了,本文介绍4个简单MPI函数:MPI_INIT、MPI_COMM_RANK、MPI_COMM_SIZE和MPI_FINALIZE。

注意:以下调用格式为Fortran格式,大部分教程都是C语言的MPI介绍,这里以及以后的文章都是以Fortran为基础,尤其要注意Fortran不分大小写。

先给出一个最简单的Hello_world的Fortran + MPI的程序,在此基础上来分析MPI的4个最简单的函数——MPI_INIT、MPI_COMM_RANK、MPI_COMM_SIZE和MPI_FINALIZE。

MPI_Init用来初始化MPI执行环境,建立多个MPI进程之间的联系,为后续通信做准备。

MPI_Finalize则是结束MPI执行环境。

MPI_Comm_rank就是来标识各个MPI进程的,告诉调用该函数的进程“我是谁?”。

MPI_COMM_SIZE用来标识相应进程组中有多少个进程。

21 将以上内容保存为hello_worldf90,上传到服务器的文件夹/home/xldeng/mpi里面:

22 编译hello_worldf90为hello_world,并用ls查看内容:

23 使用服务器里面的命令来调用不同的节点上面的核来计算:

31 注意程序中的一个小细节:

含义为调用mpi的库函数,因为使用的是Intel MPI + Fortran90,所以调用的方式为:use mpi。Fortran77可能需要 include "mpifh"。

32 在22节中的mpiifort是ifort的并行使用方法,检验mpiifort的用法:which mpiifort或者是mpiifort -v。

33 在23节中的说明:本程序的运行平台为服务器上,所以使用的是 MPI使用指南 | 武汉大学超算中心 中提供的提交方法。如果在单台服务器上面,可以使用如下命令:

来运行程序。

openmp和mpi原理:openmp一般用于多核并行,

全是一种并行编程框架,mpi是一种基于消息的进程间通信机制,可以跨越多机。实际中,一般侠义的mpi配合调器一起完成

以上就是关于计算机系统结构中mpi是什么意思全部的内容,包括:计算机系统结构中mpi是什么意思、本人研究生 研究方向选择了分布式计算 需要会哪些知识、【Fortran并行科学计算】——Hello World程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9798164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存