mpCC_r
NAME
mpCC_r - Invokes a shell script to compile C++ programs which use
threaded MPI.
SYNOPSIS
mpCC_r [xlC_flags]... program.C
The mpCC_r shell script compiles C++ programs while linking in the
Partition Manager, the threaded implementation of Message Passing
Interface (MPI), and Low-level Applications Programming Interface
(LAPI).
FLAGS
Any of the compiler flags normally accepted by the xlC_r command can
also be used on mpCC_r. For a complete listing of these flag options,
refer to the manual page for the xlC_r command. Typical options to
mpCC_r include:
-v causes a "verbose" output listing of the shell script.
-g Produces an object file with symbol table references.
This object file is needed by the Source Code view of
the Visualization Tool (vt).
-o names the executable.
-l (lower-case L)
names additional libraries to be searched. Several
libraries are automatically included, and are listed
below in the FILES section.
Note: Not all AIX libraries are thread safe. Verify
that your intended use is supported.
-I (upper-case i)
names directories for additional includes. The
directory /usr/lpp/ppe.poe/include is automatically
included.
-p enables profiling with the prof command. For more
information, see the appendix on "Profiling Programs"
in IBM Parallel Environment for AIX: Operation and Use,
Volume 2, Tools Reference.
-pg enables profiling with the xprofiler and gprof
commands. For more information, see the "Xprofiler"
chapter and the appendix on "Profiling Programs" in IBM
Parallel Environment for AIX: Operation and Use, Volume
2, Tools Reference.
DESCRIPTION
The mpCC_r shell script calls the AIX xlC_r compiler. In addition,
the Partition Manager and data communication interfaces are
automatically linked in. The script creates an executable that
dynamically binds with the communication subsystem libraries. If you
wish to create a statically bound application, use the instructions in
"Creating a Static Executable" in IBM Parallel Environment for AIX:
Operation and Use, Volume 1, Using the Parallel Operating Environment
in place of this script.
Flags are passed by mpCC_r to the xlC_r command, so any of the xlC_r
options can be used on the mpCC_r shell script. The communication
subsystem library implementation is dynamically linked when you invoke
the executable using the poe command. The value specified by the
MP_EUILIB environment variable or the -euilib flag will then determine
which communication subsystem library implementation is dynamically
linked.
ENVIRONMENT VARIABLES
MP_NOPOECFG used to determine if the /usr/lpp/ppe.poe/lib/poe.cfg
file should not be used to locate the xlC compiler
stanzas. AIX Version 4.2 users compiling with the
"C and C++ Compilers for AIX Version 3.6" (5648-A81) or
"C for AIX, Version 4.3" (5765-C64) compilers should
set MP_NOPOECFG=YES (upper or lower case), which will
allow such programs to compile. See the
/usr/lpp/ppe.poe/poe.README.IX76163 for more details.
MP_PREFIX sets an alternate path to the scripts library. If
not set or NULL, the standard path
/usr/lpp/ppe.poe is used. If this environment
variable is set, then all libraries are prefixed
by $MP_PREFIX/ppe.poe.
EXAMPLES
To compile a C++ program, enter:
mpCC_r program.C -o program
FILES
When you compile a program using mpCC_r, the following libraries are
automatically selected:
/usr/lpp/ppe.poe/lib/libmpi_r.a (Message passing interface,
collective communication routines)
/usr/lpp/ppe.poe/lib/libvtd_r.a (VT tracing subsystem)
/usr/lpp/ppe.poe/lib/libppe_r.a (PE common routines)
/usr/lpp/ppe.poe/lib/libc_r.a (POE version of libc_r.a)
The following library is selected if it exists as a symbolic link
to /usr/lpp/ssp/css/lib/liblapi_r.a:
/usr/lib/liblapi_r.a
RELATED INFORMATION
Commands: mpcc_r(1), mpcc(1), mpCC(1), xlC(1), pdbx(1), pedb(1),
vt(1), xprofiler(1)