C03-并行计算培训-基本的MPI编程技术.pdf

  1. 1、本文档共144页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C03-并行计算培训-基本的MPI编程技术

基本的MPI编程技术 谭光明 博士 tgm@ncic.ac.cn 中国科学院计算技术研究所 国家智能计算机研究开发中心 计算机体系结构国家重点实验室 什么是MPI? •  Massage Passing Interface:是消息传递函 数库的标准规范。 •  由MPI论坛开发.支持Fortran 、C和C++ 。 •  一种新的库述, 不是一种语言. 消息传递并行程序设计 •  消息传递并行程序设计 –  用户必须通过显式地发送和接收消息来实现处理机间的数据交换。 –  每个并行进程均有自己独立的地址空间,相互之间访问不能直接进行, 必须通过显式的消息传递来实现。 –  这种编程方式是大规模并行处理机(MPP )和机群(Cluster )采用的 主要编程方式。 •  并行计算粒度大,特别适合于大规模可扩展并行算法 –  由于消息传递程序设计要求用户很好地分解问题,组织不同进程间的 数据交换,并行计算粒度大,特别适合于大规模可扩展并行算法. •  消息传递是当前并行计算领域的一个非常重要的并行程序设 计方式 3/122 从简单入手! •  下面我们首先分别以C语言和Fortran语言 的形式给出一个最简单的MPI并行程序 Hello (下页). •  该程序在终端打印出Hello World!字样. •  “Hello World”:一声来自新生儿的问候. 4/122 Hello world (C) #include stdio.h #include mpi.h“ main( int argc, char *argv[] ) { MPI_Init( argc, argv ); printf( Hello, world!\n ); MPI_Finalize(); } 5/122 Hello world (Fortran) program main include ‘mpif.h’ integer ierr call MPI_INIT( ierr ) print *, Hello, world! call MPI_FINALIZE( ierr ) end 6/122 编译、安装MPI •  cd /home/chen •  tar -xvzf openmpi-1.6.3.tar.gz •  cd openmpi-1.6.3 •  ./configure –prefix=/opt/openmpi •  make •  sudo make install MPI程序的的编译与运行 •  mpif77 hello.f 或 mpicc hello.c –  默认生成a.out 的可执行代码. •  mpif77 –o hello hello.f 或 %小写o •  mpicc –o hello hello.c –  生成hello 的可执行代码. % np:

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档