Building LAM/MPI

LAM/MPI is a high-quality open-source implementation of the Message
Passing Interface specification, including all of MPI-1.2 and much of
MPI-2. Intended for production as well as research use, LAM/MPI
includes a rich set of features for system administrators, parallel
programmers, application users, and parallel computing researchers.
Steps to building
To build LAM, you will need to download the source, apply the patch
provided, and then build and test it. These steps, and any known
limitations, are described in the sections below.

Downloading LAM
You can obtain the LAM/MPI source files from the LAM/MPI website. We have built and
tested LAM/MPI 7.1.1.

Patching LAM/MPI 7.1.1
The LAM/MPI 7.1.1 configure script makes an assumption about compiler
outputs that is not true for Pathscale compilers. Because of
this, it generates an invalid configuration to create the LAM C++
shared library for use with the PathScale Compiler Suite.

Here is a basic patch to the LAM/MPI 7.1.1 configure script that should
solve the build issue when using the --enable-shared --with-modules flags. This patch has been used with LAM/MPI 7.1.1 to configure LAM/MPI to work
with the PathScale compilers.

To install the patch, use this command :

patch configure configure.patch

When the user specifies any linkflag containing an "=" sign such as "-mcmodel=medium",
mpif77, or any other mpi* compiler wrapper, only "-mcmodel" is passed in the
flags. This is not a PathScale-specific problem. Here is the patch that will fix this:

To install the patch that will fix this, use this command :

patch configure configure2.patch

Building LAM/MPI
Set up your environment to work with the PathScale EKOPath compilers.

export FC=pathf95
export F77=pathf95
export CC=pathcc
export CXX=pathCC
export LAMRSH=ssh

Now configure and build LAM/MPI.

  
./configure --prefix=$LAM_HOME --enable-shared --with-modules
make 
make install

Known limitations
There are no known limitations.

We recommend you record what steps you took, along with their output,
in case of problems. You can include this in your email to support.
Here is an example of changing a make command to record the output in a
text file:

make foo 2>&1 | tee make-foo-log.txt

If you have any comments or suggestions about additions to these
pages, please contact support@pathscale.com.