MPI Toolbox for Octave (MPITB) 

 


Requirements:



MPITB needs a working LAM or Open-MPI dynamically linked (shared libraries) installation. Same version on all nodes. This requirement is frequently overlooked. See the section "Installing".
If the MPITB you download was precompiled against your same Octave version and has a precompiled OMPI DLD subdir, just use it. It might work (depending on how similar switches were used when configuring OMPI). If not, you should recompile MPITB against your (shared libraries) OMPI and Octave.
For those willing to know, the OMPI configure switches used for testing were:
 ./configure --prefix=/<myhomedir>/openmpi-1.2.3 \
--enable-mpi-threads \
&> ompi-1.2.3-configure.log &
make all &> ompi-1.2.3-make.log &
make install &> ompi-1.2.3-install.log &
You might also be interested in other switches such as
  --with-gnu-ld --with-pic --with-threads=posix
--enable-progress-threads (this causes problems in our cluster)
The above mentioned log files will be included in the tarball so you can be absolutely certain about the OMPI configuration used in testing.


If there is no OMPI, MPITB needs a working LAM installation, dynamically linked (shared libraries) on each node to be part of the LAM multicomputer.
Linux distributions usually include some LAM rpm package/libraries, but they are usually static libraries. You might try to recompile against those static libraries, but that's neither tested nor recommended.
If the MPITB you download was precompiled against your same Octave version and has a precompiled LAM DLD subdir, just use it. It might work (depending on how similar switches were used when configuring LAM). If not, you should recompile MPITB against your (shared libraries) LAM and Octave.
For those willing to know, the LAM configure switches used for testing were:
 ./configure --prefix=/<myhomedir>/lam-7.1.3 \
--enable-shared --with-modules --with-trillium \
--with-rsh=ssh --with-fc=gfortran --disable-static \
&> lam-7.1.3-configure.log &
make &> lam-7.1.3-make.log &
make install &> lam-7.1.3-install.log &
You might also be interested in other switches such as
  --without-fc --without-mpi2cpp --without-romio \
--with-gnu-ld --with-pic --with-threads=posix
Starting with 2.9.10, the above mentioned log files will be included in the tarball so you can be absolutely certain about the LAM configuration used in testing.


Needs a working Octave installation (with dld support) on each node on which you want to spawn an Octave process. Same version on all nodes. MPITB should work out-of-the-box if you use the same Octave version in your cluster (compared to the tarball), and similar enough LAM or OMPI configure switches.
MPITB might work with other Octaves with compatible API/liboct, but Octave API changes really fast, so if version number is different enough, MPITB will become incompatible. Choose the MPITB version which better matches your Octave version and try it out.
For those willing to know, the Octave configure switches used for testing were:
 ./configure --prefix=/<myhomedir>/octave-2.9.10 \
--enable-shared CFLAGS=-O2 CXXFLAGS=-O2 \
&> oct-2.9.12-configure.log &
# avoid -g for .oct filesize, Octave defaults to -g -O2
make &> oct-2.9.12-make.log &
make check
make install &> oct-2.9.12-install.log &
You might also be interested in other switches such as
  --disable-static \
--enable-dl
Starting with 2.9.10, the above mentioned log files will be included in the tarball so you can be absolutely certain about the Octave configuration used in testing.




page built April 2004 Last update: Apr 14th 2008

This website uses Google Analytics. Find a more detailed description of that service near the end of the home page.