《高性能计算之并行编程技术-MPI并行程序设计》
都志辉
李三立
陈渝 刘鹏
第5章 第一个MPI程序Hello World
用FORTRAN77+MPI实现:
http://s14/middle/7c8678bb4a1f31f564d2d&690
program main
include 'mpif.h' MPI相对于FORTRAN实现的头文件mpif.h;如果是Fortran90程序,则需要将 include
mpif.h 改为 use
mpi,即MPI被定义为一个Fortran90调用的模块
character * (MPI_MAX_PROCESSOR_NAME) processor_name,integer myid,
numprocs, namelen, rc,ierr
MPI_MAX_PROCESSOR_NAME是MPI预定义的宏,即某一MPI的具体实现中允许机器名字的最大长度。机器名放在变量processor_name中,整型变量myid和numprocs分别用来记录某一个并行执行的进程的标识和所有参加计算的进程的个数,namelen是实际得到的机器名字的长度,rc和ierr分别用来得到MPI过程调用结束后的返回结果和可能的出错信息。
call MPI_INIT( ierr )
call MPI_COMM_RANK( MPI_COMM_WORLD, myid, ierr )
MPI_COMM_RANK得到当前正在运行的进程的标识号,放在myid中
call MPI_COMM_SIZE( MPI_COMM_WORLD, numprocs, ierr
) MPI_COMM_SIZE得到所有参加运算的进程的个数,放在numprocs中
call
MPI_GET_PROCESSOR_NAME(processor_name, namelen,
ierr) MPI_GET_PROCESSOR_NAME得到运行
本进程的机器的名称,结果放在processor_name中,它是一个字符串,而该字符串的长度放在namelen中
write(*,10)
myid,numprocs,processor_name
10
FORMAT('Hello World! Process ',I2,' of ',I1,' on ', 20A)
call MPI_FINALIZE(rc)
end
http://s13/middle/7c8678bb076985487806c&690
加载中,请稍候......