Newsgroups: comp.parallel.pvm
Path: ukc!uknet!pipex!uunet!super!cfreese
From: cfreese@super.org (Craig F. Reese)
Subject: PVM observation/question/suggestion
Message-ID: <1994Jan31.222044.19855@super.org>
Sender: news@super.org (USENET News System)
Nntp-Posting-Host: descartes
Organization: Supercomputing Research Center (Bowie, MD)
Date: Mon, 31 Jan 1994 22:20:44 GMT
Lines: 84


Hi all,

I've recently been playing with PVM and had a few observations/suggestions/
questions.

First: 

I have noticed that if you specify the home directory for programs as
part of the configuration file:

    * ep=/home/me/appl

That it looks for all executables there regardless of ARCH.  In rummaging
through the code I found that if you do:

    * ep=/home/me/appl/%

that the '%' will get substitued with the ARCH and everything works fine.
This didn't seem to be documented anywhere and I was wondering if it is
simply an oversight or whether it is something that I really should not
be using.

Second:

If I start a program up that connects into a pvmd it does not have the
program name when I do a 'ps'.  Now this makes sense but my question
is, is there any way I can tell it the name.  I want to put something
there so that other programs can find this program and talk to it.  The
only solution I've found is that I can "spawn" the program under the
pvm monitor but I'd really like to not have to start things that way.

Third:

Some of the machines I'm using are essentially Suns with some sort
of attached processor (similiar to a CM-2, CM-5,...)  I wanted to
make some new ARCHs for these boxes.  Originally I thought I could 
just copy the SUN one, but the ARCH is hardcoded into the server.
I rummaged around and found that by setting ARCHCLASS when compiling
I can manipulate the ARCH differntly from the stuff used in the
defines to compile the program.  Unfortunately, the way the makefile
stuff is set up, doing this is a bit awkward.

My solution was to add an ARCHCLASS define to the *.def files.  I then
had to modify the Makefiles so that in src/Makefile.aimk:

   LIBDIR = ../../lib/$(PVM_ARCH)
   CFLAGS = ...  -DARCHCLASS=\"$(PVM_ARCH)\" -DIMA_$(PVM_ARCH)   ...

becomes

   LIBDIR = ../../lib/$(ARCHCLASS)
   CFLAGS = ...  -DARCHCLASS=\"$(ARCHCLASS)\" -DIMA_$(PVM_ARCH)   ...

Also, in console/ I had to change the Makefile entry:

   PVMLDIR = ../../lib/$(PVM_ARCH)

become

   PVMLDIR = ../../lib/$(ARCHCLASS)

After that everything works wonderfully and I can create what are
essentially the same as the standard SUN stuff, but with a different
embedded ARCHCLASS.

I don't know if this kinda thing might benefit others.

Thanks,

Craig

*** The opinions expressed are my own and do not necessarily reflect 
*** those of any other land dwelling mammals....

"The problem ain't what we don't know; it's what we know that just ain't so
Either we take familiar things so much for granted that we never think about 
how they originated, or we "know" too much about them to investigate closely."
-----------------
Craig F. Reese                           Email: cfreese@super.org
Institute for Defense Analyses/
Supercomputing Research Center
17100 Science Dr.
Bowie, MD  20715-4300

