CSDN博客

img yuanqingfei

MPICH——Visual Fortran

发表于2004/7/10 17:12:00  2416人阅读

分类: 〖Fortran〗

BBS 水木清华站∶精华区
发信人: Gooogle (【光明使者】Nature Boy), 信区: NumComp       
标  题: Re: MPICH问题求助 MPI -np n MPIProgram.exe (转载)
发信站: BBS 水木清华站 (Thu Jul 18 22:45:51 2002)
 
 
MPICH安装
 
这里仅针对使用Digital Visual Fortran 6.x编译器的情况对MPICH安装程序所附
的说明文档作补充说明。对于Visual C++ 6.0编译器的情况仅提供参考。 
    1. 安装 
    运行Setup.exe安装时,建议完全安装。Setup.exe运行完毕后,进行下面操作
: 
    (1) 将{MPICH_root}/Sdk/Include和{MPICH_root}/Sdk/Lib目录下的所有文件
分别拷贝到{Microsoft Visual Studio}/Df98/Include和{Microsoft Visual 
Studio}/Df98/Lib目录下; 
*   (2) 将{MPICH_root}/RemoteShell/Bin加入到系统的PATH环境变量中。 
    
    2. 编译、链接MPI应用程序 
    为了方便使用Visual Fortran 6.x编译器进行并行程序编译链接,在第一次使
用其编译程序前,可以增加一个Fortran项目环境: 
    (1) 点击菜单File->New...; 
    (2) 在Projects标签中选择Fortran Console Application,然后再右侧输入
框中填入新项目的名称,点击OK; 
    (3) 在接下来的对话框中选择An empty project,点击Finish; 
    (4) 在接下来的对话框中直接点击OK; 
    (5) 点击菜单Project->Settings...,进行下面操作: 
        I)   在setting for中,选择Win32 debug; 
        II)  选择Fortran标签,进行下面操作: 
             i)   在Category一栏中选择“External Procedures”; 
             ii)  在“Argument Passing”一栏中选择“C, By Reference”;
             iii) 在“String Length Argument”一栏中选择“After All 
Args”; 
  
        III) 选择Link标签,进行下面操作: 
             i)  在Category一栏中选择“General”; 
             ii) 在Object/library modules中,添加ws2_32.lib、mpichd.lib
、pmpichd.lib、romiod.lib,各库文件间用空格分开; 
        IV)  在setting for中,选择Win32 release; 
        V)   重复II)、III)的操作,只是库文件变为:ws2_32.lib、mpich.lib
、pmpich.lib、romio.lib; 
        VI)  点击OK。 
    (6) 点击菜单File->Save Fortran Environment; 
    (7) 点击Save Environment按钮,即保存一个新的环境(可以给一个名称);
 
    (8) 关闭这个项目文件,并删除这个项目文件。 
    这样就可以在进行并行程序设计的时候,较为方便地使用这一编译环境,举例
如下: 
    (1) 点击菜单File->New...; 
    (2) 在Projects标签中选择Fortran Console Application,然后再右侧输入
框中给出项目的名称,点击OK; 
    (3) 在接下来的对话框中选择An empty project,并选中复选框“There 
are saved Fortran Console environments. Would you like to consider applying 
options from one of them?”,点击Finish; 
    (4) 在对话框中List of Console Environment中,选择前面准备好的环境名
称,点击Apply按钮,并确认; 
    (5) 在接下来的对话框中直接点击OK; 
    在这个项目中就可以进行并行程序的开发。特别指出的是,在源程序中必须添
加语句“include 'mpif.h'”。 
    3. 运行MPI应用程序 
    对于已经编译好的MPI程序,若只启动一个进程,则可以直接键入程序名,回
车,即可运行。若启动多个进程则需要执行mpirun。具体用法可由命令提示符下直接执行
该命令获得。 
    对于只准备在单机上,进行调试的用户,相对容易。只需要键入mpirun -np 
#numproc <程序名>,或者键入mpirun -localonly #numproc <程序名>,即可。(
#numproc指的是准备启动的进程数) 
    对于在多台机器上进行计算,需要进行下面的操作来建立环境:(这里假设用
户没有安装NFS) 
    (1) 确认在每台机器上都安装了这个程序包,最少是安装了远程调用的程序和
必须得动态库。 
    (2) 确认在每台机器上都启动了RemoteShellServer。可以通过控制面板->服
务,来检查,推荐将这个服务设为自动,可以减少以后的维护。 
    (3) 运行程序。这里分几种情况逐一说明。 
        I)  用mpirun -np #numproc <程序名> 的形式在多台机器上启动,方法
如下: 
(这一方法只适合启动SPMD程序,并且可执行程序应在各台机器上放置在相同的目
录结构中) 
            i)  启动mpiconfig,选择准备运行的机器,并点击setup,再点击
OK按钮,结束配置。(注:选中机器后,必须按setup,才可以完成配置,否则在
后面的运行中会出现奇怪的错误) 
            ii) 键入mpirun -np #numproc <程序名> 即可启动程序,当
#numproc大于配置的机器数时,系统可以自动在机器列表中循环利用。 
        II) 用配置文件的方式在多台机器上启动,方法如下: 
            i)  编写纯文本的配置文件,格式如下: 
exe <可执行文件的全路径及名称> 
[可选参数] 
hosts 
<主机名1> #n1 [可执行文件的全路径及名称] 
<主机名2> #n2 [可执行文件的全路径及名称] 
<主机名3> #n3 [可执行文件的全路径及名称] 
... 
其中#n1,n2,n3...表示在对应机器上启动的进程数,每台主机上的进程数可以不同
; 
    若主机后的[可执行文件的全路径及名称]不填,则默认使用exe那一行所指定
的文件; 
    若每台主机都独立的列出[可执行文件的全路径及名称],则exe那一行的内容
也可空白; 
    若启动的是SPMD程序,每个主机所指向的必须是同一文件,或其复制文件; 
    若启动的是MPMD程序,给不同的机器上指定其上需要运行的程序; 
    同一台主机可以占用多行,每行给定不同或相同的启动进程数和[可执行文件
的全路径及名称]; 
    全路径名包括两种,一种是以驱动器符号开始的,如:d:/temp/mpiprogram.
exe,另一种是以机器名为起始的,如://host1/share/temp/mpiprogram.exe; 
    每个[可执行文件的全路径及名称]都是以相应的主机为标准。 
            ii) 启动程序,这里仍然有两种情况: 
                a)  如果每台机器运行所需要的可执行文件都在其本地,则可以
简单 
的使用 mpirun <配置文件> 的形式启动; 
                b)  如果在配置文件中包含的主机中,存在一台主机的所需的可
执行文件在其远程,则需要使用 mpirun <配置文件> -logon 来启动,这时会要求
输入一个帐号和密码,请输入一个已经存在的域用户名和其对应的密码即可。
(与每台机器登陆的帐号无关,不要使用administrator帐号) 
    特别需要指出下面几点: 
    (1) 推荐用mpirun -localonly #numproc <程序名> 的方式在单机上启动多个
进程,这样可以比较少的更改mpiconfig。 
    (2) 推荐用配置文件的形式在多台机器上运行,这样也可以比较少的更改
mpiconfig; 
    (3) 也可以使用配置文件的形式在单台机器上运行程序; 
    (4) 无论启动几个进程,在本地只有一个窗口,而远程主机上没有任何窗口启
动,若启动任务管理器,可以看到启动的程序在运行,并且优先级为低。
 
 
 
 
【 在 youthforever (youthforever) 的大作中提到: 】
∶ 【 以下文字转载自 DOC 讨论区 】
∶ 发信人: youthforever (youthforever), 信区: DOC       
∶ 标  题: MPICH问题求助 MPI -np n MPIProgram.exe
∶ 发信站: BBS 水木清华站 (Thu Jul 18 21:44:24 2002)
∶ mpirun -np n MPIProgram.exe  在自己的机器上运行正确,但是两台以上机器上运行时
∶ 提示unable to connect to ××× (机器名):error 无法向注册表写入项
∶ 的错误,请问MPI服务器需要怎么设置? thanks。
 
 
--
那就好好签吧!
那就好好过吧!
 
 
※ 来源:·BBS 水木清华站 smth.edu.cn·[FROM: 211.68.30.252]
上一篇 返回上一页 回到目录 回到页首 下一篇
BBS 水木清华站∶精华区

0 0

相关博文

我的热门文章

img
取 消
img