gmandel Code (GIT)
Brought to you by:
edscott
--- 1.3.1 notes:
PVM version has been dropped.
Julia set generations are not active (only Mandelbrot set).
This version has been tested with:
- posix threads and posix shm
- mpich2
mpich2 details
1. Make sure ssh works without password for all cluster nodes.
Individual ssh keys for all nodes should be in the known_hosts file
2. Hostname of each node should be listed in /etc/hosts at each node.
3. Problem with mpich2:
If mpd works but mpdboot does not (failing with a "no_port" message),
this may be due to the fact that "mpd" is in your path but not "mpd.py".
This occurs when distros (like gentoo) create a directory for all
the mpich2 python files.
The problem is easily fixed by creating a symlink in the directory
where mpd is located (/usr/bin, /usr/local/bin) to wherever mpd.py
really is. Example:
# ln -s /usr/bin/mpd /wherever/mpich2/files/are/located/mpd.py
4. Another problem with mpich2:
Gmandel may fail with a "no msg recvd from mpd
(when expecting ack of request).
This occurs when the default value for a mpi-message timeout
is too low for the hardware you are using.
Either use a faster network for communication
(infiniband or myrinet, for example) or change the value for
recvTimeout from 20 to something larger. This is done in file
"mpiexec.py" located whereever mpich2 files are (see point 3 above).
5. If mpd is not running when gmandel is invoked, gmandel will
try to start mpd and will terminate mpd when exiting.
If mpd is already running, gmandel will use the running daemon
and leave it alone when exiting. The check for a running mpd
takes a bit of time, so if you want to view images faster, make
sure mpd is running and configured for all the hosts you need
before gmandel is invoked.
For instalation, do a ./configure followed by a make && make install.
Latest CVS version for gmandel is always available at CVS site hosted
as sourceforge.net.
Remember that wherever you install gmandel should be accesible
to all mpi nodes for the mpi version to run.
If you do not specify an install directory via the
--prefix= option at the configure script, this will be set to /usr/local
This is probably not what you want. So please set the --prefix= option.
If mpich2 is not installed on the build computer, you can just run
gmandel from the build directory.
If mpich2 version is built, then you must copy the executable files in the
build directory to the path specified by $prefix/bin. This is why setting
the --prefix option to configure is important.
If you don't know how to set the --prefix option, please execute:
$ ./configure --help
for further instructions.
To run the threaded version:
$ "prefix"/bin/gmandel
To run the MPI version (mpich2):
$ mpdboot [optional]
$ "prefix"/bin/gmandel
--------------------------------------------------------------------
Points to remember:
-- You should have the DISPLAY environment variable correctly defined
for remote display of the gmandel program. SSH tunnels work fine.
-- You can also do a ./autogen.sh to regenerate the configure script.
Enjoy.