您现在的位置: 晨光科技 >> 文章 >> 新闻、背景、评论等 >> 高新技术 >> 正文  
  Windows系统下搭建MPI(并行计算)环境           
Windows系统下搭建MPI(并行计算)环境
[ 作者:佚名    转贴自:https://blog.csdn.net/weixin_43417960/article/deta    点击数:37    更新时间:2021/5/26    文章录入:LA ]
[注:本站登载的某些文章并不代表本站支持或反对其观点或肯定其真实性]

https://blog.csdn.net/weixin_43417960/article/details/83509668?utm_term=windows%E4%B8%8B%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-0-83509668&spm=3001.4430

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                 
Windows系统下搭建MPI环境

MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算。MPI的具体实现一般采用MPICH。下面介绍如何在Windows XP系统下VC6中搭建MPI环境来编写MPI程序。

一.准备工作

1.1   安装MPI的SDK——MPICH2。

mpich2-1.4.1p1-win-ia32安装程序的下载地址:

http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.4.1p1/mpich2-1.4.1p1-win-ia32.msi

本文以设置安装在C:\Program Files\MPICH2目录下为例。

测试所安装的MPICH2

测试前首先需要注册一个用户,具体操作如下:“开始”按钮-->所有程序-->MPICH2-->wmpiregister.exe。输入用户名、密码。有一点需要说明:该用户名须为有效的操作系统管理员账户,密码对应为系统登录密码。如图所示:

接下来选择开始-->所有程序-->MPICH2-->wmpiexec.exe;

选择Application为 c:\program files\mpich2\examples\cpi.exe (就是自带的一个计算圆周率的例子程序)。在Number of processes的数量选择2表示用二个进程来协同完成。选中“run in separate windw”选项。再点击Excute就可以执行了。

然后在控制台窗口下提示输入number of intervals ,随便输入个大点的数字(50000,5000000)就可以看到求的的圆周率值。如下图:

注意到上图中的Show Comman中的字符串,可以在控制台下输入应该字符串得到类似结果,这里就不再介绍了。

1.2 在VC6中添加MPICH2

先在VC6.0中加入mpi的include和lib。VC6.0程序菜单中“Tools” --> “Optains”-->“Directories”然后添加,如下图所示:

 

二.第一个MPI程序

加入之后,新建Win32 Console Application工程,加入如下代码:

#include #include #include #include #pragma comment (lib, "mpi.lib") int main(int argc, char* argv[]){ int myid,numprocs; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME];  MPI_Init(&argc, &argv); //用MPI_Comm_rank 获得进程的rank,该rank值为0到p-1间的整数,相当于进程的ID MPI_Comm_rank(MPI_COMM_WORLD, &myid); //用MPI_Comm_size 获得进程个数  int MPI_Comm_size(MPI_Comm comm, int *size); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Get_processor_name(processor_name, &namelen);  printf("Hello World! by MoreWindows\nProcess %d of %d on %s\n", myid, numprocs, processor_name);  MPI_Finalize();        if (myid == 1)    {        printf("\nPress a key and exit.\n");        getch();    } return 0;}

编译运行,第一个MPI程序就诞生了。下面是我电脑上的运行结果:

 

三.多台电脑上协同运行MPI

只有多台电脑集群后才能更好的发挥并行计算的威力,当然由于MPI的帮助,这个工作将变得异常简单。下面以二台PC协同运行前面提到过的cpi.exe为例。

3.1 多台电脑运行MPI的条件

第一.参加并行计算的机器须至少注册一个相同的账户,如两台PC上都注册了一个 mpi 帐号。

第二.创建JOB目录。每台机器上须有一个路径相同的目录,用于存放待执行的JOB(即 exe 程序),如创建的目录是 d:\MPI\,再将测试用的可执行文件复制到二台PC的该目录下。

 

3.2 联机执行命令解释

可以在控制台下输入"C:\Program Files\MPICH2\bin\mpiexec.exe" -help2来查看其所以参数,这里不一一介绍了,重点介绍下用于联机操作的命令:

联机执行命令: -hosts n Node_1 Node_2  ...  Node_n  -noprompt ExePath

“-hosts”表示要联机运行,n 表示有n台机器参加运算,Node_1(及Node_2 ...)为各机器的计算机名或IP。ExePath为exe的文件路径如d:\MPI\cpi.exe。

3.3 联机效果示范

可以这个结果与上面单机运行的结果作个比较。

 

不难发现,由于MPI的帮助,使用多台电脑来进行并行计算其实也是一件比较容易的事件。
————————————————
版权声明:本文为CSDN博主「天龙八部11」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43417960/article/details/83509668

  • 上一篇文章: 美国又又又又拉黑超算!算力之争,即国力之争

  • 下一篇文章: 盘点中国六大国家超算中心
  •    
    [注:标题搜索比内容搜索快]
    发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • TEMP[126]

  • SAE001[93]

  • 高光谱成像基本原理[68]

  • 蒸汽火车解剖图[79]

  • 星球大战死星解剖图集 star wa…[86]

  •  
     最新5篇推荐文章
  • 外媒:正在唤醒中国的习近平[340]

  • 中国反伪科学运动背后的CIA黑手…[517]

  • [转载]袁隆平真言:中国最大的…[698]

  • 台专家:当年我们造IDF时 大陆…[591]

  • 旅日华人:中国严重误判日本民…[596]

  •  
     相 关 文 章
    没有相关文章

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 
    版权所有 Copyright© 2003 晨光科技        站长:璀璨星辰        页面执行时间:242.19毫秒
    Powered by:MyPower Ver3.5