- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Company Logo LOGO * MPI并行程序设计探索 学号姓名:*** 什么是MPI? Massage Passing Interface:是消息传递函数库的标准规范,由MPI论坛开发,支持Fortran和C 一种新的库描述,不是一种语言。共有上百个函数调用接口,在Fortran和C语言中可以直接对这些函数进行调用 MPI是一种标准或规范的代表,而不是特指某一个对它的具体实现 MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准 MPI的发展过程 发展的两个阶段 MPI 1.1: 1995 MPICH:是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性. MPI 1.2~2.0:动态进程, 并行 I/O, 远程存储访问、支持F90和C++(1997). 为什么要用MPI? 高可移植性 MPI已在IBM PC机上、MS Windows上、所有主要的Unix工作站上和所有主流的并行机上得到实现。使用MPI作消息传递的C或Fortran并行程序可不加改变地运行在IBM PC、MS Windows、Unix工作站、以及各种并行机上。 MPI的开发环境 硬件环境: 一台PC机 软件环境: 操作系统:Windows XP SP3 开发工具:VS2010,mpich2 配置MPI开发环境 配置MPICH2: 1、安装MPICH2,自选安装路径; 2、注册一个账户,具体操作如下: “开始”按钮--所有程序--MPICH2--wmpiregister.exe。输入用户名、密码。 注意:该用户名须为有效的操作系统管理员账户,密码对应为系统登录密码。 配置MPI开发环境 配置MPICH2: 3、测试安装好的MPICH2,“开始”按钮--所有程序--MPICH2--wmpiexec.exe。 MPI的开发环境 在VS2010中添加MPICH2: 1、新建一个项目; 2、在VS2010中添加MPI的lib和include。 具体过程:“项目”--“属性”--“配置属性”-- “VC++目录”,在包含目录中添加MPI的include文件夹目录,在库目录中添加MPI的lib文件夹。 Hello World! 下面我们首先分别以C语言的形式给出一个最简单的MPI并行程序Hello World. Hello World是如何被执行的? SPMD: Single Program Multiple Data(SIMD) :::: #include mpi.h #include stdio.h main( int argc, char *argv[] ) { MPI_Init( argc, argv ); printf( Hello, world!\n ); MPI_Finalize(); } #include mpi.h #include stdio.h main( int argc, char *argv[] ) { MPI_Init( argc, argv ); printf( Hello, world!\n ); MPI_Finalize(); } #include mpi.h #include stdio.h main( int argc, char *argv[] ) { MPI_Init( argc, argv ); printf( Hello, world!\n ); MPI_Finalize(); } #include mpi.h #include stdio.h main( int argc, char *argv[] ) { MPI_Init( argc, argv ); printf( Hello, world!\n ); MPI_Finalize(); } #include mpi.h #include stdio.h main( int argc, char *argv[] ) { MPI_Init( argc, argv ); printf( Hello, world!\n ); MPI_Finalize(); } rsh\ssh 最基本的MPI MPI调用借口的总数虽然庞大,但根据实际编写MPI的经验,常用的MPI调用的个数非常有限。上面介绍的是6个最基本的MPI函数。 MPI_Init(…); MPI_Comm_size(…); MPI_Comm_rank(…
文档评论(0)