Boost logo

Boost-Build :

From: Douglas Gregor (doug.gregor_at_[hidden])
Date: 2007-05-21 11:10:40


Hello Aydin,

On May 19, 2007, at 6:11 AM, Aydin Buluc wrote:
> I have been trying to install Boost in order to use Boost.MPI. My
> environment is an IBM Power 4 with Virtual Age compiler. The system
> itself has a wrapper compiler called mpCC that calls xlc compiler
> with required extra parameters for mpi.

You're using IBM's MPI, I assume? We don't yet have auto-detection
support for it (because I don't have access to their MPI
implementation).

> Here is what I encountered so far:
> 1) I can build bjam using "./build.sh vacpp" without problems.
> 2) If I try to use the mpCC wrapper compiler by adding
> "using mpi: /usr/bin/mpCC ;" to user-config.jam, what I get after
> running "bjam --with-mpi" is :
> "MPI auto-detection failed: unknown wrapper compiler /usr/bin/mpCC"
>
> Ok, that is understandable. I guess I need to tell bjam which
> libraries should be linked (and where they are), what are the
> include directories. However I am completely lost on how to do
> these parts? Which file and how?

You can specify the various build parameters needed to build an MPI
program via the "using mpi" line. I pulled the documentation below
out of tools/build/v2/tools/mpi.jam, which explains how to tell bjam
which libraries and include directories to use.

I hope that helps!

Also, if you tell me how to get this information from IBM's MPI
drivers (e.g., mpCC), I can implement auto-detection for this platform.

        - Doug

# ==== MPI Configuration ====
#
# For many users, MPI support can be enabled simply by adding the
following
# line to your user-config.jam file:
#
# using mpi ;
#
# This should auto-detect MPI settings based on the MPI wrapper
compiler in
# your path, e.g., "mpic++". If the wrapper compiler is not in your
path, or
# has a different name, you can pass the name of the wrapper compiler
as the
# first argument to the mpi module:
#
# using mpi : /opt/mpich2-1.0.4/bin/mpiCC ;
#
# If your MPI implementation does not have a wrapper compiler, or the
MPI
# auto-detection code does not work with your MPI's wrapper compiler,
# you can pass MPI-related options explicitly via the second
parameter to the
# mpi module:
#
# using mpi : : <find-shared-library>lammpio <find-shared-
library>lammpi++
# <find-shared-library>mpi <find-shared-library>lam
# <find-shared-library>dl ;
#
# To see the results of MPI auto-detection, pass "--debug-
configuration" on
# the bjam command line.
#
# The (optional) fourth argument configures Boost.MPI for running
# regression tests. These parameters specify the executable used to
# launch jobs (default: "mpirun") followed by any necessary arguments
# to this to run tests and tell the program to expect the number of
# processors to follow (default: "-np"). With the default parameters,
# for instance, the test harness will execute, e.g.,
#
# mpirun -np 4 all_gather_test


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk