manpagez: man pages & more
man mpicxx(1)
Home | html | info | man
mpicxx(1)                             MPI                            mpicxx(1)


NAME

       mpicxx -  Compiles and links MPI programs written in C++


DESCRIPTION

       This command can be used to compile and link MPI programs written in
       C++.  It provides the options and any special libraries that are needed
       to compile and link MPI programs.

       It is important to use this command, particularly when linking
       programs, as it provides the necessary libraries.



COMMAND LINE ARGUMENTS

       -show  - Show the commands that would be used without running them
       -help  - Give short help
       -cxx=name
              - Use compiler name instead of the default choice.  Use this
              only if the compiler is compatible with the MPICH library (see
              below)
       -config=name
              - Load a configuration file for a particular compiler.  This
              allows a single mpicxx command to be used with multiple
              compilers.
       -compile_info
              - Show the steps for compiling a program.  This option can be
              used to see what options and include paths are used by mpicxx.
       -link_info
              - Show the steps for linking a program.  This option can be used
              to see what options and libraries are used by mpicxx.
       -profile=name
              - Use the MPI profiling given by name.  See below for details
       -echo  - Show exactly what this program is doing.  This option should
              normally not be used.
       -static
              - mpi - Use a statically compile MPI library, but shared
              libraries for all of the other dependencies.
       -mpi   - abi  - Compile and link using the standard MPI ABI.
       others - are passed to the compiler or linker.  For example, -c causes
              files to be compiled, -g selects compilation with debugging on
              most systems, and -o name causes linking with the output
              executable given the name name .




ENVIRONMENT VARIABLES

       The environment variables MPICH_CXX may be used to select different C++
       compiler and linker.  Note that since MPICH is built with a particular
       C and Fortran compiler, changing the compilers used can cause problems.
       Use this only if you could intermix code compiled with the different
       compilers.

       The environment variable MPICC_PROFILE specifies a profile library and
       has the same effect as if -profile=$MPICC_PROFILE were used as an
       argument to mpicc .  See the discussion of -profile below for more
       details.



COMPATIBLE COMPILERS

       The MPI library may be used with any compiler that uses the same
       lengths for basic data objects (such as long double ) and that uses
       compatible run-time libraries.  On many systems, the various compilers
       are compatible and may be used interchangeably.  There are exceptions;
       if you use the MPICH_CXX environment variable or the -cxx=name command-
       line argument to override the choice of compiler and encounter
       problems, try reconfiguring MPICH with the new compiler, and installing
       MPICH in a separate location.  See the installation manual for more
       details.



EXAMPLES

       To compile a single file foo.c , use
       mpicxx -c foo.cxx


       To link the output and make an executable, use
       mpicxx -o foo foo.o

       Combining compilation and linking in a single command
       mpicxx -o foo foo.cxx

       is a convenient way to build simple programs.



SELECTING A PROFILING LIBRARY

       The -profile=name argument allows you to specify an MPI profiling
       library to be used.  name can have two forms:

       A library in the same directory as the MPI library
       The name of a profile configuration file

       If name is a library, then this library is included before the MPI
       library.  This allows the simple use of libraries that make use of the
       MPI profiling interface and that are installed in the same directory as
       the MPI library.

       If name.conf is the name of a file in the sysconfdir directory, then
       this is read and may define the following variables:
       PROFILE_PRELIB
              - Libraries (and paths) to include before the MPI library
       PROFILE_POSTLIB
              - Libraries to include after the MPI library
       PROFILE_INCPATHS
              - C preprocessor arguments for any include files For example, to
              add /usr/local/myprof/include to the include path and the
              library libmyprof.a in /usr/local/myprof/lib to the link step,
              you could create the file myprof.conf with the lines

              PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
              PROFILE_INCPATHS="-I/usr/local/myprof/include"

              and place it in the sysconfdir directory (this directory is set
              at configure time when MPICH is built).  Then using the command-
              line argument -profile=myprof will cause these definitions to be
              added to the relevant compile commands.



SEE ALSO

       mpicc(1), mpifort(1), mpiexec(1)

                                   2/3/2025                          mpicxx(1)

mpi 4.3.0 - Generated Mon Mar 3 18:13:40 CST 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.