README InterComm 1.6 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://www.cs.umd.edu/projects/hpsl/chaos/ResearchAreas/ic 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.6 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.