README
InterComm 1.5
InterComm is a framework for coupling distributed memory parallel
components. It enables efficient communication in the presence of
complex data distributions. In many modern scientific applications,
multiple parallel and/or sequential components need to cooperate
to solve a complex problem. These components often use different
languages and different libaries to parallelize their data. InterComm
provides abstractions that work across these differences to provide
an easy, efficient, and flexible means to move data directly from one
component's data structure to another.
Currently, InterComm supports components written in C, Fortran77, C++,
and Fortran90. Data parallel library support is provided for Chaos,
MultiBlockParti, and P++.
For a more technical discussion of the InterComm architecture and
performance, please see the papers available at:
http:
Instructions on installation and use can be found in the INSTALL file.
-------------------------------------------------------------------------
Department of Computer Science, University of Maryland,
A.V. Williams Building, College Park, MD 20742.
INSTALLATION NOTES
InterComm Version 1.5
InterComm depends on PVM for communication, so the first step is
to insure that you have a working and properly configured installation
of PVM available. In particular, InterComm will need the environment
variables PVM_ROOT, PVM_ARCH and PVM_BIN set during configuration. If
are going to use MPI with InterComm, the environment variables
MPI_BIN, MPI_INC, and MPI_LIB needed to be set for InterComm to
function properly.
InterComm uses the GNU Autotools suite for building and installation.
Generally, this involves the sequence of commands:
./configure
make
make install
The 'configure' command takes a number of options, use of the '--help'
flag will provide a full list of those available. Options that are
specific to InterComm are:
--with-chaos=DIR
This causes the Chaos extensions to be built. DIR specifies
where the Chaos headers and libraries can be found.
--with-mbp=DIR
This causes the MultiBlockParti extensions to be built. DIR
specifies where the MultiBlockParti headers and libraries
can be found.
--with-ppp=DIR
This causes the C++/P++ interface to be built. DIR specifies
where the P++ headers and libraries can be found.
NOTE: The P++ source MUST be modified to expose the underlying
PARTI descriptor to InterComm. This is done by making the
pPARTI_Descriptor member of the PADRE_Descriptor class public.
See line 445 in A++P++-0.7.9d/P++/PADRE/src/PADRE_Descriptor.h.
--enable-f77
This causes the Fortran 77 interface to be built (default).
--enable-f90
This causes the Fortran 90 interface to be built.
--enable-tests
This causes the test scripts to be built to ensure the installation
is successful.
--enable-mpi
This causes the test cases using mpi to be built (default). If
--with-ppp=DIR is used, this will be enabled automatically.
--enable-debug
This causes the debug statements to be shown while using InterComm
to help fun the source of problems.
-------------------------------------------------------------------------
Department of Computer Science, University of Maryland,
A.V. Williams Building, College Park, MD 20742.