`
deepfuture
  • 浏览: 4340684 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:79510
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:68563
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:101699
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:281627
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:14651
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:65823
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:31400
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45307
社区版块
存档分类
最新评论

PVM安装调试及应用程序编译链接测试

阅读更多

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

$

 

其中斜体为用户输入,其余为系统输出。机器不同,输出的结果也会有所不同。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics