PVM安装调试及应用程序编译链接测试
说明:
1.以两台机器为例,假定所用机器名为pvm01(202.113.12.151)和pvm02(202.113.12.152)。要求网络工作正常。
2.运行并行程序需要在各个结点机上有相同的用户名和密码,并有相应的配置。这里我们假定用户名为pvmgroup,密码pvmgroup。
3.例子程序为Master-Slave并行程序,用来计算Pi值,同时做一些相应的统计。dtiming为Master程序,dtiming_slave为slave程序,Makefile.aimk是PVM程序编译与链接程序aimk所使用的文件,功能与Makefile文件相同。
一、运行环境配置与调试
1.修改/etc/hosts文件。
添加
202.113.12.151 pvm01
202.113.12.152 pvm02
2.如果是csh,修改(创建)/home/pvmgroup/.cshrc文件
setenv PVM_ROOT /usr/share/pvm3
setenv PVM_ARCH LINUX
setenv PATH /usr/share/pvm3/lib:./$PATH
如果是bash,则修改.bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/share/pvm3/lib
BASH_ENV=$HOME/.bashrc
USERNAME=""
PVM_ROOT=/usr/share/pvm3
PVM_ARCH=LINUX
export USERNAME BASH_ENV PATH PVM_ROOT PVM_ARCH
3.修改(创建)/home/pvmgroup/.rhosts文件。
pvm01 pvmgroup
pvm02 pvmgroup
4.调试
$ pvm
pvm> add pvm01
add pvm01
1 successful
HOST DTID
pvm01 80000
pvm> halt
halt
Terminated
如果各个结点都正确配置屏幕将有如上输出,其中斜体为用户输入。如果配置有误,将报相应错。
二、PVM应用程序的编译、链接与运行
1.创建目录/home/pvmgroup/pvm3/bin/LINUX。(编译好的程序要放到这里)
2.COPY源程序及Makefile.aimk到/home/pvmgroup/pvm3/bin/LINUX目录下。
3.$ cd /home/pvmgroup/pvm3/bin/LINUX
$ ./aimk
4.将生成的可执行文件FTP到各结点机的相同目录下,并增加可执行属性。
或者在每个结点机上都编译、链接一遍。
如果是异构结点机,必须重新编译。
5.启动PVM,运行程序,步骤及正常运行结果如下:
$ pvm
pvm> add pvm01
add pvm01
1 successful
HOST DTID
pvm01 80000
pvm> quit
quit
Console: exit handler called
pvmd still running.
$ ./dtiming
i'm t40002
there has 2 machines!
slave 0 is task t80001 ok,send parameter to task 0
slave 1 is task t40003 ok,send parameter to task 1
The start time is:1026871885
task 0 finished! return is 0.8472130900904784
the time is:11
task 1 finished! return is 0.9270373444467532
the time is:0
the total time is:11
result is 3.1415926928720199
$
其中斜体为用户输入,其余为系统输出。机器不同,输出的结果也会有所不同。