LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2004-07-22 09:08:01


After several internal releases, we are finally ready to unleash some
7.1 betas on the world.

The LAM Team would greatly appreciate external testing on LAM/MPI 7.1,
available in the beta section of the LAM web site:
http://www.lam-mpi.org/beta/

Some of the most notable changes are:

- The ability to have binary, drop-in SSI modules. Configuring LAM
with "--disable-static --enable-shared --with-modules" will build all
SSI modules are shared library components under $prefix/lib/lam that
are opened at run-time (i.e., LAM will open whatever is in that
directory, to include third-party SSI modules)
- SLURM and BProc 4.0 support
- Preliminary Infiniband support (i.e., an "ib" rpi module, albiet with
performance that still needs to be tuned)
- Fixes to all know gm rpi module problems
- Shared memory collective algorithms
- The "-param <type> <module>" option to the laminfo command shows all
SSI parameters for that type and module (including the wildcard "all")

Here is a complete summary of the changes from the 7.1 HISTORY file
(also available in prettyprint at http://www.lam-mpi.org/svn/new.php):

- Added first version of Infiniband RPI module (ib).
- Fix a problem where $includedir/lam_config.h may end up with
   permissions affected by the installer's default umask instead of
   being set to 0644. Thanks to hzmonte for pointing this out, as well
   as various documentation fixes.
- Added preliminary support for the upcoming BProc 4.0 release. Thank
   you to Luke Palmer and Daniel Gruner for helping test the changes.
- Added ability for mpirun to start applications that have execute but
   not read permissions (thanks to dling_at_[hidden] for pointing this
   out). Only works if the -s option is not given to mpirun. Also
   fixed path searching problem when ./test was specified as command to
   mpirun.
- mpirun is now better about returning non-zero in the cases where
   the launched job aborts before calling MPI_INIT.
- Add support for ptmalloc2 and Apple Darwin/OS X memory managers when
   catching deallocations for unpinning user memory.
- Added possibility of using IMPI_HOST_NAME environment variable for
   external name publishing. Thanks to Alexander Inyukhin for
   contributing a path for this.
- Fixed ordering of LAM_SESSION_SUFFIX and batch system ID evaluation
   when determining the session directory suffix. Thanks to Rich Drake
   for pointing out this problem.
- Added collectives for inter-communicators.
- Added SHMEM coll SSI module.
- Add C++ constants MPI::ARGV_NULL and MPI::ARGVS_NULL
- Added rpi_tcp_sockbuf and rpi_crtcp_sockbuf SSI params to set OS
   socket buffering sizes.
- Added support for optional MPI datatypes MPI_INTEGER1, MPI_INTEGER2,
   MPI_INTEGER4, MPI_REAL4, and MPI_REAL8. Added support for
non-existant
   MPI datatypes (!) MPI_INTEGER8, MPI_REAL16.
- Added boot_rsh_ignore_stderr SSI parameter for users too lazy to fix
   their "dot" files. :-) Thanks to Randy Bramley for suggesting this
   feature.
- Added SLURM boot SSI module.
- Added support for run-time dynamically loaded SSI modules. A LAM
   installation can therefore be extended by simply adding a shared
   library SSI module into a specific directory.
- Various gm RPI fixes:
   - Added --with-rpi-gm-lib option to specify a non-default location
     for the GM library. Thanks to Tom Crockett for pointing this out.
   - Fix for incorrectly handling when gm dropped packets. Thanks to
     several LAM users pointing this out to us.
   - Performance improvements in the gm RPI; no more "short" message
     protocol -- only "tiny" and "long".
   - Added "fast" support for the gm rpi module, although it's
     unreliable for communication-intense applications (and therefore
     disabled by default).
   - Support for building the gm rpi module dynamically.
   - The gm RPI module now supports checkpoint/restart (must set the
     rpi_gm_cr SSI parameter to 1), but only when used with gm_get()
     (see below).
   - Enable experimental use of the gm 2.x gm_get() function for long
     messages when explicitly asked for with the --with-rpi-gm-get
     configure switch.
- Added smp-aware collective algorithms for the following MPI
   functions: MPI_ALLGATHER, MPI_ALLGATHERV, MPI_REDUCE_SCATTER,
   MPI_SCAN.
- Added new MPI functions: MPI_EXSCAN and MPI_ALLTOALLW.
- Added the feature of preventing cascading of help messages (on a per
   helpfile basis). This feature can be turned off by setting the
   LAM_MPI_ALLOW_CASCADE_HELP environment variable.
- Added "mpi_hostmap" SSI parameter to transform the IP addresses
   supplied by the LAM run-time environment to an alternate set of
   addresses that will be used for MPI communications. Thanks to
   Jean-Marie Teuler and Robin Humble for suggesting this feature.
- Added option "-prefix </lam/install/path>" in lamboot and lamwipe
   to allow users to switch between LAM installations without having
   to modify their local environments.
- Added "prefix" parameter for the rsh boot module boot schema files
   to allow users to specify different LAM installation paths on
   different nodes.
- Added a new MPI_COMM_SPAWN info key (lam_no_root_node_schedule) to
   disallow processes to be spawned on the root node.
- Wrapper compilers now do not add any additional flags unless there
   is at least one argv that does not begin with "-" (e.g., "mpicc -v"
   will not add any additional LAM/MPI-specific flags).
- Added options:cxx_exceptions output in laminfo to indicate whether
   LAM was configured --with-cxx-exceptions or not.
- Added -param option to laminfo to display available SSI parameters
   and their default values.
- Added -showme:compile and -showme:link flags to the wrapper
   compilers for printing out the compiler and linker flags,
   respectively. For example "cc foo.c `mpicc -showme:compile`" and
   "cc foo.o `mpicc -showme:link` -o foo".
- Renamed "wipe" command to "lamwipe" per request from the Mandrake
   Cooker team. The name "wipe" is now deprecated, and will be removed
   in some future release.
- Added "lamcheckpoint" and "lamrestart" commands. These commands can
   be used to call the module-specific Checkpoint and Restart functions.
- Removed the reset of the MAKE macro in romio/Makefile.in that
   disallowed using a make other that what is found at configure time.
   Thanks to Richard Hadsell for tracking this down.
- Fixed some missing <etc_misc.h> header files that caused unresolved
   symbols on some platforms. Thanks to Richard Hadsell for tracking
   this down.
- Added possitiblity of --without-exflags to force *not* using any
   special C++ exception compiler flags. Thanks to Richard Hadsell for
   pointing this out.
- Fix man page sections. Thanks to Camm Maguire for pointing out
   these errors.
- Only execute .profile if it exists in the rsh module. Thanks for
   the patch from Camm Maguire.
- Fixed error in lamnet code used to find available interfaces when
   we don't pre-allocate enough space (on FreeBSD - thanks to Masakazu
   Higaki for pointing out this problem).

-- 
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/