《云计算与大数据技术知识》第5章-MPI—面向计算.ppt

《云计算与大数据技术知识》第5章-MPI—面向计算.ppt

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

5.3.5 建立并行计算环境时的注意事项 第一次配置并行计算环境时,许多人都会遇到一定的困难,特别是初学者,下面我们对配置时需要注意的问题列出来,大家在遇到问题时可以参考。 (1)部分服务配置文件需要root用户权限,如NFS服务器的配置,在安装时如出现问题请首先检查当前用户是否具备相应的权限。 (2)/etc/hosts文件需要在所有节点上修改。 (3)各节点的MPICH和用户程序要在相同的目录下,所有节点都必须有MPICH和用户程序的副本。 (4)如出现mpd无法启动请检查所有节点的NFS文件共享是否正常启动。 5.3.5 建立并行计算环境时的注意事项 第一次配置并行计算环境时,许多人都会遇到一定的困难,特别是初学者,下面我们对配置时需要注意的问题列出来,大家在遇到问题时可以参考。 (1)部分服务配置文件需要root用户权限,如NFS服务器的配置,在安装时如出现问题请首先检查当前用户是否具备相应的权限。 (2)/etc/hosts文件需要在所有节点上修改。 (3)各节点的MPICH和用户程序要在相同的目录下,所有节点都必须有MPICH和用户程序的副本。 (4)如出现mpd无法启动请检查所有节点的NFS文件共享是否正常启动。 5.3.5 建立并行计算环境时的注意事项 (5)启动mpd前要保证所有节点都正确安装了MPICH。 (6)NFS配置及取消密码配置的顺序可以交换,但MPICH必需最后安装,否则MPI不能正常运行。 (7)运行MPI程序时出现故障请检查以下内容:网络是否正常,各节点是否能无密码相互登录,mpd是否在所有节点都已启动,NFS服务及共享在各节点是否已完成,各节点.mpd.conf文件中密码是否相同,可执行文件是否在各节点的相同路径有副本,MPICH的安装文件是否在各节点的相同路径有副本。 5.3.5 建立并行计算环境时的注意事项 (8)安装时无法采用ssh登录系统时请检查系统的防火墙设置。 (9)系统必须已安装GCC才能进行并行环境的配置。 (10)当ssh无密码访问配置出现故障时,可将所有节点的.ssh文件夹全部清除,重新配置ssh无密码访问。 5.4 MPI分布式程序设计基础 在并行计算时代人们更关注的是计算能力,一切以计算为中心,计算力成为了首要追逐的目标,因此人们通过将多台服务器连接起来实现计算能力的提升,这种计算模式非常适合从事计算密集型的任务,虽然云计算时代单纯的计算密集型的任务会越来越少,但了解并行计算时代的程序设计方法对我们理解云计算中的一些技术基础和理念是有好处的, 我们在实际研究工作中也体会到这点,所以本章将介绍采用MPI进行并行程序设计的核心技术,使读者能由并行计算世界逐步进入云计算世界。 5.4.1 最简单的并行程序 并行程序让很多人望而却步,其实基于MPI的并行程序设计并没有那么可怕,甚至简单得让人吃惊,本实例将介绍一段最简单的并行程序,这段程序虽然简单,主程序只有三行,但它确实实现了多个计算节点的共同工作,也是一个真正意义上的并行程序。 下面让我们从这个最简单的并行程序开始,逐渐进入并行计算世界。 5.4.1 最简单的并行程序 1. MPI函数说明 (1)并行初始化函数:int MPI_Init(int *argc, char ***argv) 参数描述: argc为变量数目,argv为变量数组,两个参数均来自main函数的参数。 MPI_Init()是MPI程序的第一个函数调用,标志着并行程序部分的开始,它完成MPI程序的初始化工作,所有MPI程序并行部分的第一条可执行语句都是这条语句。 该函数的返回值为调用成功标志。 同一个程序中MPI_Init()只能被调用一次。 函数的参数为main函数的参数地址,所以并行程序和一般C语言程序不一样,它的main函数参数是不可缺少的,因为MPI_Init()函数会用到main函数的两个参数。 5.4.1 最简单的并行程序 (2)并行结束函数:int MPI_Finalize() MPI_Finalize()是并行程序并行部分的最后一个函数调用,出现 该函数后表明并行程序的并行部分的结束。 一旦调用该函数后,将不能再调用其他的MPI函数,此时程序将释放MPI的数据结构及操作。 这条语句之后的代码仍然可以进行串行程序的运行。 该函数的调用较简单,没有参数。 5.4.1 最简单的并行程序 2. 并行源代码 程序5.1 /*文件名:hello.c*/ #include mpi.h #include stdio.h int main(int argc,char **argv) { MPI_Init(argc,argv); //并行部分开始 printf(hello

文档评论(0)

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

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

1亿VIP精品文档

相关文档