mpCC
NAME
mpCC - Invokes a shell script to compile C++ programs.
SYNOPSIS
mpCC [xlC_flags]... program.C
The mpCC shell script compiles C++ programs while linking in the
Partition Manager, Message Passing Interface (MPI), and/or Message
Passing Library (MPL).
FLAGS
Any of the compiler flags normally accepted by the xlC command can
also be used on mpCC. For a complete listing of these flag options,
refer to the manual page for the xlC command. Typical options to mpCC
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.
-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 shell script calls the AIX xlC compiler. In addition, the
Partition Manager and message passing interface are automatically
linked in. The script creates an executable that dynamically binds
with the message passing 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 to the xlC command, so any of the xlC options
can be used on the mpCC 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 program.C -o program
FILES
When you compile a program using mpCC, the following libraries are
automatically selected:
/usr/lpp/ppe.poe/lib/libmpi.a (Message passing interface,
collective communication routines)
/usr/lpp/ppe.poe/lib/libvtd.a (VT tracing subsystem)
/usr/lpp/ppe.poe/lib/libppe.a (PE common routines)
/usr/lpp/ppe.poe/lib/libc.a (POE version of libc.a)
RELATED INFORMATION
Commands: mpCC_r(1), mpcc(1), mpcc_r(1), mpxlf(1), xlC(1), pdbx(1),
pedb(1), vt(1), xprofiler(1)