加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

第一个MPI程序(一)

(2011-04-28 11:39:07)
标签:

杂谈

分类: 并行技术

《高性能计算之并行编程技术-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

0

阅读 收藏 喜欢 打印举报/Report
前一篇:并行算法
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有