Running Parallel GENESIS
- Create a script to run parallel genesis. If you don't have one of your own yet, there are examples in the Scripts subdirectory of pargenesis.
- Start the PVM console by typing "pvm". At the prompt type "quit".
- Execute a script with "pargenesis scriptfile" or "parnxgenesis scriptfile".
- Terminate the PVM demon. Start the PVM console and at the prompt type "halt".
The rest of this document discusses some of the trickier points in running parallel Genesis. You may need to read this if the example scripts do not run.
Your PVM environment
- Make sure your .cshrc, on each machine that you will use, sets the PVM_ROOT and PVM_ARCH environment variables correctly. See the PVM manual section 3.3 for a description.
In your .cshrc file, your path should include the $PVM_ROOT/bin/$PVM_ARCH, $PVM_ROOT/lib/$PVM_ARCH and $PVM_ROOT/lib directories.
- Ensure that your .cshrc file(s) do not do any I/O. If you wish to have I/O, see the PVM manual (/afs/psc/biomed/neural/genesis/parallel/Doc/pvm-ug.ps.Z) section 4.2 for the ways you can do it.
- Ensure your .cshrc sets the PVM_EXPORT environment variable appropriately (see the PVM manual section 10.5). For debugging the DISPLAY variable should be included:
setenv PVM_EXPORT:DISPLAY
- Make sure there is a soft link called parnxgenesis in the $PVM_ROOT/bin/$PVM_ARCH directory, which should point to the executable parnxgenesis in the Genesis bin directory. This must be true for each machine that you will use.
- If you wish to use parallel Genesis in interactive or debugging style (each Genesis node has its own command interpreter running in its own window, into which you can type commands), set up the file $PVM_ROOT/lib/debugger as described in the Debugging Manual.
- Start up the pvm daemon by executing pvm. The daemon should be found on your path in $PVM_ROOT/lib/$PVM_ARCH. Configure the PVM virtual machine you wish to use with the "add" command. See the PVM manual section 4. You do not need to add any machines to the virtual machine, you can run on a single workstation. PVM uses whatever machines you add to provide the illusion of many machines.
GENESIS environment
- Your files .simrc and ~/.parnxsimrc must set the SIMPATH variable to include
/afs/psc/biomed/neural/genesis/parallel/startup
and whatever directories you keep your script files in.
- The schedule that your .simrc and ~/.parnxsimrc include must contain the line
addtask Simulate /##[CLASS=postmaster] -action PROCESS
before any other PROCESS actions.
Running a script
The executables are in
/afs/psc/biomed/neural/genesis/parallel/bin/$PVM_ARCH
These should be linked to ~/pvm3/bin/$PVM_ARCH and this directory should be on your path. If this is the case, you can execute parallel Genesis using pargenesis, parnxgenesis or parmingenesis. All nodes look on the SIMPATH for script files. The initial working directory for the master is wherever you execute it from, and for the workers is your home directory. Thus it is NOT SUFFICIENT to start the master from the directory containing the script file. That directory must also be in the SIMPATH set in ~/.parnxsimrc.
You can use the pvm console to see what pvm process exist. Start the console as described above (it should tell you it is already running). Type "help" for a list of commands. "ps -a" will show you all running processes (should be one per node, except some multiprocessor systems). may have more.
See the PVM manual for more details.