Fortran源自于“公式翻译”(英语:FormulaTranslation)的缩写,是一种编程语言。
它是世界上芦肢世最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。
随着FORTRAN语言版本的不断更新和变化,饥旅语言不兼容性问题日益突出,语言标准化工作被提上了日程。
1962年5月:美国标准化协会(简称ANSI)着手进行FORTRAN语言标准化的研究工作。
1966年:ANSI正式公布了两个标准文本:美国国家标准FORTRAN(ANSI X3.9-1966)和美国国家标准基本FORTRAN(ANSI X3.10-1966),前者相当于FORTRAN Ⅳ,后者相当于FORTRANⅡ。基本FORTRAN是美国国家标准FORTRAN的一个子集,从而实现了语言的向下兼容,初步解决了语言的兼陪肢容性问题。
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用来标识相应进程组中有多少个进程。
2.1. 将以上内容保存为hello_world.f90,上传到服务器的文件夹/home/xldeng/mpi里面:
2.2. 编译hello_world.f90为hello_world,并用ls查看内容:
2.3. 使皮基用服务器里面的命令来调用不同的节点上面的核来计算:
3.1 . 注意程序中的一个小细节:
含义为调用mpi的库函数,因为使用的是Intel MPI + Fortran90,所以调用的方式为:use mpi。Fortran77可能需要 include "mpif.h"。
3.2 . 在2.2节中的mpiifort是ifort的并行使用方法,检验mpiifort的用法:which mpiifort或者是mpiifort -v。
3.3 . 在2.3节中的说明:本程序的运行平台为服务器上,所以使用的是 MPI使用指南 | 武汉大学超算中心 中提供的提交方法。如果在单台服务器上面,可以使用如下命令:
来运行程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)