MPI RELATED TOOLS AND LIBRARIES

* ScaLAPACKNEW!
The ScaLAPACK library includes a subset of LAPACK (Linear Algebra PACKage) routines redesigned for distributed memory MIMD parallel computers. It is currently written in a SPMD stype using explicit message passing for interprocessor communication. The goal is to have ScaLAPACK routines resemble their LAPACK equivalents as much as possible.
* PGAPack
PGAPack is a general-purpose, data-structure-neutral, parallel genetic algorithm library. It is intended to provide most capabilities desired in a genetic algorithm library, in an integrated, seamless, and portable manner.
* ARCH
ARCH is a C++-based object-oriented library of tools for parallel programming on machines using the MPI (message passing interface) communication library. Detailed technical information about ARCH is available as a Cornell Theory Center Technical Report (CTC95TR288). is also available.
* OOMPI
OOMPI is an object oriented interface to the MPI-1 standard. While OOMPI remains faithful to all the MPI-1 functionality, it offers new object oriented abstractions which promise to expedite the MPI programming process by allowing programmers to take full advantage of C++ features.
* XMPI: A Run/Debug GUI for MPI
XMPI is an X/Motif based graphical user interface for running and debugging MPI programs. It is implemented on top of LAM, an MPI cluster computing environment, but the interface is generally independent of LAM operating concepts. You write an MPI application in one or more MPI programs, tell XMPI about these programs and where they are to be run, then snapshot the synchronization status of MPI processes throughout the application execution.
* Aztec: An Iterative Sparse Linear Solver Package
Aztec is an iterative library that greatly simplifies the parallelization process when solving a sparse linear system of equations Ax = b where A is a user supplied nxn sparse matrix, b is a user supplied vector of length n and x is a vector of length n to be computed. Aztec is intended as a software tool for users who want to avoid cumbersome parallel programming details but who have large sparse linear systems which require an efficiently utilized parallel processing system.
* MPIMap
MPIMap, from Lawrence Livermore National Laboratory, lets programmers visualize MPI datatypes. It uses Tcl/Tk, and it runs on parallel computers that use the MPICH implmentation of MPI. The tool lets you select one of MPI's type constructors (such as MPI_Type_vector or MPI_Type_struct) and enter the parameters to the constructor call. It then calls MPI to generate the new type, extracts the type map from the resulting structure, and presents a graphical display of the type map, showing the offset and basic type of each element.
* STAR/MPI
STAR/MPI is a system to allow binding of MPI to a generic (STAR) interactive language. GCL/MPI is intended as an easy-to-use master-slave distributed architecture. It combines the feedback of an interactive language (the GCL or AKCL dialect of LISP) with the the use of MPI to take advantage of networks of workstations.
* Parallel Implementation of BLAS
The sB_BLAS package is a collection of parallel implementations of the level 3 Basic Linear Algebra Subprograms. All codes were written using MPI. A paper describing this work is also available.
* BLACS (Basic Linear Algebra Communication Subprograms) for MPI
An "alpha test release" of the BLACS for MPI is available from the University of Tennessee, Knoxville. For more information contact R. Clint Whaley (rwhaley@cs.utk.edu).
* DQS (Distributed Queueing System)
DQS now supports the launch of MPICH (Argonne/Miss State Version of MPI) jobs and is available by anonymous ftp.
* Interprocessor Collective Communication (iCC)
The Interprocessor Collective Communication (iCC) research project started as a research project into techniques required to develop high performance implementations of the MPI collective communication calls.
* PETSc Scientific Computing Libraries
PETSc stands for "Portable Extensible Tools for Scientific computing." It is a library of routines for both uni- and parallel-processor computing.
* Para++
The Para++ project provides a C++ interface to the MPI and PVM message passing libraries. Their approach is to overload input and output operators to do communication. Communication looks like standard C++ IO.
* Amelia Vector Template Library
The Amelia Vector Template Livrary (AVTL) is a polymorphic collection library for distributed memory parallel computers. It is based on ideas from the Standard Template Library (STL) and uses MPI for communication.
* Cononical Classes for Concurrency Control
The Cononical Classes for Concurrency Control library contains a set of C++ classes which implement a variety of synchronization and data transmission paradigms. It currently supports both Intel's NX and MPI.
* MPI Cubix
MPI Cubix is an I/O library for MPI applications. The semantics and language binding reflect POSIX in its sequential aspects and MPI in its parallel aspects. The library is built on a few POSIX I/O functions and each of the POSIX-like Cubix functions translate directly to a POSIX operation on a file system somewhere in the parallel machine. The library is also built on MPI and is therefore portable to any machine that supports both MPI and POSIX.
* MPIX Intercommunicator Extensions
The MPIX Intercommunicator Extension library contains a set of extensions to MPI that allow many functions that previously only worked with intracommunicators to work with intercommunicators. Extensions include support for additional intercommunciator construction operations and intercommunicator collective operations.
* MPIRUN
Sam Fineberg is working on support for running multidisciplinary codes using MPI which he calls MPIRUN.
* You can retrieve the MPIRUN software.
* How to use MPIRUN on the NAS Parallel Systems
* Multidisciplinary/Multizonal applications using MPIRUN

Last modified: Tue May 21 10:44:30 1996 -- Accesses since Thu May 18, 1995: