win7+ivf下的mpi环境搭建

win7+ivf下的mpi环境搭建,第1张

      这个事网上有攻略,参见:http://www.docin.com/p-728410179.html,或者度娘搜索“win7+ivf+mpi”字样即可。但是这个攻略有不详之处,这里结合自己的经验说说要注意的地方。

首先,假设你已经在win7系统下安装好了ivf开发环境(具体参见上述链接中的攻略,这又是一个大问题,限于篇幅这里不再详述),那么按以下步骤安装和配置mpi。

1. 安装mpich2文件。pc如果显示是64位 *** 作系统,不用搭理,要看ivf的位数,选择mpi的位数,一般是32位的。

2.安装目录可以自己选。目录下会有include,bin和lib文件夹,以及example 文件夹。安装过程中出现一个behappy,在后面要用到。

3.装完mpich2才完成了一小步,接下来要运行smpd可执行文件,该文件在安装目录下的bin文件夹中(大概是bin,反正就是上面提到的三个文件夹中的一个)。a.开始-搜索,找到 cmd.exe符,鼠标右键以管理员身份运行(注意,这里必须用鼠标右键,才能以管理员身份运行),就出现一个命令流窗口,黑色背景的那种。b. 进入smpd.exe文件所在的目录,例如目录在D盘的话,cd /d D:\。。。,总之进入smpd.exe所在的路径。c.查看smpd安装状态,smpd -status,如果没有安装,键入命令smpd -install -phrase behappy,就ok了。

4. 注册,就是让win7知道有smpd在运行了,开始-所有程序-mpich2-register相关的一个,会出现输入用户名密码什么的,用户名输入机器的名字,注意,这里要输入的名字有讲究,我的电脑-右键-管理-计算机管理(本地)-系统工具-本地用户和租-用户-名称,找到自己当前登录的账户对应的名称,而不是全名(一般两者一致,不一致的话按名称输入),将对应的账户名称和密码填入后,既可以注册。

5.ivf中的mpi配置,打开一个项目,在项目-项目名称属性中设置,有三个地方必须设置,1是fortran-genreral中的additional include directories,将include文件夹目录完整copy到里面;2是link-general中的additional library directories,将bin文件夹的完整目录copy过去;3是link-input中的addtional dependencies,将fmpich.lib文件的完整目录包括文件名copy过去。上述设置需要在每个项目中都做一遍,做一遍之后,该项目会记住设置,从而不用在同一个项目中重复设置。另外,对同一个项目,release和debug模式下也要分别进行上述设置。

6.接下来就可以使用mpi编译了,编译完生成的可执行文件(.exe)要在mpi提供的一个界面中运行,开始-所有程序-mpich2-mpiexec.exe,会d出一个对话框,在里面添加编译生成的可执行文件目录,所用的线程数即可,点击execute按钮即可以并行计算了。这里面可以勾选一个run in a separate window选项,屏幕输出会在一个独立窗口中显示,背景是黑色的那种,不勾选这个,屏幕输出就在下面的白色方框内显示。另外,如果想选择mpi运行程序的位置(可执行文件,头文件,输入文件输出文件),在对话框左下角勾选more,第一行即可选择。

上述细节乃是本人亲历艰辛才得到的经验,权作开头连接中给出的攻略的补充。

通常来说,函数库的主要内容是两部分:include 和 lib ,使用函数库的所有问题,都是让编译器正确的识别 include 和 lib。

在使用函数库以前,到安装目录下了解一下函数库的组成是很有必要的。(各函数库的版本可能有差异,切记不可完全照这教科书来做,包括本文)

1. include 它告诉编译器,我们使用到的这些函数是什么,需要多少个参数,每个参数是什么类型,返回什么值。它的作用就像 Interface 接口一样。它没有函数内部如何实现的说明,只有接口!

对于 Fortran 函数库,通常 include 里包含的都是 *.mod 文件,有些也包含 *.f90 文件(源代码方式声明接口)。

2. lib 链接器在链接成最终可执行文件时,需要把 lib 中的函数库一起链接。它是函数内部的实现,是函数的实际作用体,也是可执行代码。

举一个生活中的 include 和 lib 的例子:

比如你买了一个工具箱(函数库),你需要翻阅它的目录(include )来了解这里面哪个工具可以做什么,哪些工具需要电源,电源是否是220V?哪些工具需要加水?这些工具各自的作用是什么?(函数的输入输出)。

当你需要实际使用到某个工具时,你才会去寻找真正的它(lib),并把它拿到自己身边来(链接)。

除了这两个重要的组成部分之外,一些函数库还会有:

3. examples 或 test / code / demo 一类的,用于示范函数库的使用(但是它没法示范如何 *** 作,如何设置编译环境)

4. document 或 doc / help ,这是函数库的说明书。里面的 how to us 章节也对它的使用有指导作用。

5. bin ,个别函数库具有一些可执行的工具,通常存放在这里。

6. src ,开源函数库通常会有源代码,存放在这里。(IMSL 和 MKL 均不开源).


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11690846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存