Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] OSX undefined symbols when compiling hello world in cpp but not in c
From: Jason Fleischer (fleischer_at_[hidden])
Date: 2008-04-03 22:00:15


On MacOS 10.5.2 standard installation with Open MPI 1.2.3 the
following hello world program in normal C compiles just fine and runs
correctly.

But if I rename the file to mpihello.cpp and I get many undefined
symbols at link time!

This error cropped up while I was working with a much more complex mpi
program, but it occurs even with this simplest of programs. The error
also occurs if I change the hello world program to use the C++
function forms, such as MPI::Init() and MPI::COMM_WORLD.Get_rank().
Probably I'm just being embarrassingly stupid.

Thanks in advance.

mpihello.cpp:

#include <stdio.h>
#include <mpi.h>

int main ( int argc, char *argv[] )
{
   int rank, size;

   MPI_Init (&argc, &argv);
   MPI_Comm_rank (MPI_COMM_WORLD, &rank);
   MPI_Comm_size (MPI_COMM_WORLD, &size);
   printf( "Hello world from process %d of %d\n", rank, size );
   MPI_Finalize();
   return 0;
}

compiler output:

  mpiCC -o mpihello mpihello.cpp
Undefined symbols:
   "MPI::Datatype::Free()", referenced from:
       vtable for MPI::Datatypein ccQqJJlF.o
   "MPI::Win::Set_errhandler(MPI::Errhandler const&)", referenced from:
       vtable for MPI::Winin ccQqJJlF.o
   "___gxx_personality_v0", referenced from:
       ___gxx_personality_v0$non_lazy_ptr in ccQqJJlF.o
   "MPI::InitializeIntercepts()", referenced from:
       MPI::Real_init() in ccQqJJlF.o
   "operator new[](unsigned long)", referenced from:
       MPI::Datatype::Get_contents(int, int, int, int*, int*,
MPI::Datatype*) constin ccQqJJlF.o
       MPI::Comm::Alltoallw(void const*, int const*, int const*,
MPI::Datatype const*, void*, int const*, int const*, MPI::Datatype
const*) constin ccQqJJlF.o
       MPI::Intracomm::Create_cart(int, int const*, bool const*, bool)
constin ccQqJJlF.o
       MPI::Intracomm::convert_info_to_mpi_info(int, MPI::Info
const*)in ccQqJJlF.o
       MPI::Cartcomm::Get_topo(int, int*, bool*, int*) constin
ccQqJJlF.o
       MPI::Cartcomm::Sub(bool const*)in ccQqJJlF.o
       MPI::Cartcomm::Map(int, int const*, bool const*) constin
ccQqJJlF.o
   "___cxa_pure_virtual", referenced from:
       vtable for MPI::Commin ccQqJJlF.o
   "operator new(unsigned long)", referenced from:
       MPI::Intracomm::Clone() constin ccQqJJlF.o
       MPI::Cartcomm::Clone() constin ccQqJJlF.o
       MPI::Graphcomm::Clone() constin ccQqJJlF.o
       MPI::Intercomm::Clone() constin ccQqJJlF.o
   "std::ios_base::Init::Init()", referenced from:
       __static_initialization_and_destruction_0(int, int)in ccQqJJlF.o
   "operator delete[](void*)", referenced from:
       MPI::Datatype::Get_contents(int, int, int, int*, int*,
MPI::Datatype*) constin ccQqJJlF.o
       MPI::Comm::Alltoallw(void const*, int const*, int const*,
MPI::Datatype const*, void*, int const*, int const*, MPI::Datatype
const*) constin ccQqJJlF.o
       MPI::Intracomm::Create_cart(int, int const*, bool const*, bool)
constin ccQqJJlF.o
       MPI::Intracomm::Spawn_multiple(int, char const**, char
const***, int const*, MPI::Info const*, int)in ccQqJJlF.o
       MPI::Intracomm::Spawn_multiple(int, char const**, char
const***, int const*, MPI::Info const*, int, int*)in ccQqJJlF.o
       MPI::Cartcomm::Get_topo(int, int*, bool*, int*) constin
ccQqJJlF.o
       MPI::Cartcomm::Sub(bool const*)in ccQqJJlF.o
       MPI::Cartcomm::Map(int, int const*, bool const*) constin
ccQqJJlF.o
   "std::ios_base::Init::~Init()", referenced from:
       ___tcf_0 in ccQqJJlF.o
   "_ompi_mpi_cxx_op_intercept", referenced from:
       _ompi_mpi_cxx_op_intercept$non_lazy_ptr in ccQqJJlF.o
   "MPI::Comm::Comm()", referenced from:
       MPI::Intracomm::Intracomm()in ccQqJJlF.o
       MPI::Intracomm::Intracomm(ompi_communicator_t*)in ccQqJJlF.o
   "vtable for __cxxabiv1::__si_class_type_info", referenced from:
       typeinfo for MPI::Prequestin ccQqJJlF.o
       typeinfo for MPI::Grequestin ccQqJJlF.o
       typeinfo for MPI::Commin ccQqJJlF.o
       typeinfo for MPI::Intracommin ccQqJJlF.o
       typeinfo for MPI::Cartcommin ccQqJJlF.o
       typeinfo for MPI::Graphcommin ccQqJJlF.o
       typeinfo for MPI::Intercommin ccQqJJlF.o
   "vtable for __cxxabiv1::__class_type_info", referenced from:
       typeinfo for MPI::Datatypein ccQqJJlF.o
       typeinfo for MPI::Opin ccQqJJlF.o
       typeinfo for MPI::Statusin ccQqJJlF.o
       typeinfo for MPI::Requestin ccQqJJlF.o
       typeinfo for MPI::Groupin ccQqJJlF.o
       typeinfo for MPI::Comm_Nullin ccQqJJlF.o
       typeinfo for MPI::Winin ccQqJJlF.o
       typeinfo for MPI::Errhandlerin ccQqJJlF.o
       typeinfo for MPI::Infoin ccQqJJlF.o
   "MPI::Comm::Set_errhandler(MPI::Errhandler const&)", referenced from:
       vtable for MPI::Commin ccQqJJlF.o
       vtable for MPI::Intracommin ccQqJJlF.o
       vtable for MPI::Cartcommin ccQqJJlF.o
       vtable for MPI::Graphcommin ccQqJJlF.o
       vtable for MPI::Intercommin ccQqJJlF.o
   "MPI::Win::Free()", referenced from:
       vtable for MPI::Winin ccQqJJlF.o
   "operator delete(void*)", referenced from:
       MPI::Datatype::~Datatype()in ccQqJJlF.o
       MPI::Datatype::~Datatype()in ccQqJJlF.o
       MPI::Status::~Status()in ccQqJJlF.o
       MPI::Status::~Status()in ccQqJJlF.o
       MPI::Request::~Request()in ccQqJJlF.o
       MPI::Request::~Request()in ccQqJJlF.o
       MPI::Request::~Request()in ccQqJJlF.o
       MPI::Prequest::~Prequest()in ccQqJJlF.o
       MPI::Prequest::~Prequest()in ccQqJJlF.o
       MPI::Grequest::~Grequest()in ccQqJJlF.o
       MPI::Grequest::~Grequest()in ccQqJJlF.o
       MPI::Group::~Group()in ccQqJJlF.o
       MPI::Group::~Group()in ccQqJJlF.o
       MPI::Comm_Null::~Comm_Null()in ccQqJJlF.o
       MPI::Comm_Null::~Comm_Null()in ccQqJJlF.o
       MPI::Comm_Null::~Comm_Null()in ccQqJJlF.o
       MPI::Win::~Win() in ccQqJJlF.o
       MPI::Win::~Win() in ccQqJJlF.o
       MPI::Errhandler::~Errhandler()in ccQqJJlF.o
       MPI::Errhandler::~Errhandler()in ccQqJJlF.o
       MPI::Comm::~Comm()in ccQqJJlF.o
       MPI::Comm::~Comm()in ccQqJJlF.o
       MPI::Comm::~Comm()in ccQqJJlF.o
       MPI::Intracomm::~Intracomm()in ccQqJJlF.o
       MPI::Intracomm::~Intracomm()in ccQqJJlF.o
       MPI::Intracomm::~Intracomm()in ccQqJJlF.o
       MPI::Info::~Info()in ccQqJJlF.o
       MPI::Info::~Info()in ccQqJJlF.o
       MPI::Intercomm::~Intercomm()in ccQqJJlF.o
       MPI::Intercomm::~Intercomm()in ccQqJJlF.o
       MPI::Intracomm::Clone() constin ccQqJJlF.o
       MPI::Cartcomm::~Cartcomm()in ccQqJJlF.o
       MPI::Cartcomm::~Cartcomm()in ccQqJJlF.o
       MPI::Graphcomm::~Graphcomm()in ccQqJJlF.o
       MPI::Graphcomm::~Graphcomm()in ccQqJJlF.o
       MPI::Cartcomm::Clone() constin ccQqJJlF.o
       MPI::Graphcomm::Clone() constin ccQqJJlF.o
       MPI::Op::~Op() in ccQqJJlF.o
       MPI::Op::~Op() in ccQqJJlF.o
   "MPI::FinalizeIntercepts()", referenced from:
       MPI::Finalize() in ccQqJJlF.o
   "MPI::COMM_WORLD", referenced from:
       __ZN3MPI10COMM_WORLDE$non_lazy_ptr in ccQqJJlF.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

ompi_info --all
                 Open MPI: 1.2.3
    Open MPI SVN revision: r15136
                 Open RTE: 1.2.3
    Open RTE SVN revision: r15136
                     OPAL: 1.2.3
        OPAL SVN revision: r15136
            MCA backtrace: execinfo (MCA v1.0, API v1.0, Component
v1.2.3)
               MCA memory: darwin (MCA v1.0, API v1.0, Component v1.2.3)
            MCA maffinity: first_use (MCA v1.0, API v1.0, Component
v1.2.3)
                MCA timer: darwin (MCA v1.0, API v1.0, Component v1.2.3)
          MCA installdirs: env (MCA v1.0, API v1.0, Component v1.2.3)
          MCA installdirs: config (MCA v1.0, API v1.0, Component v1.2.3)
            MCA allocator: basic (MCA v1.0, API v1.0, Component v1.0)
            MCA allocator: bucket (MCA v1.0, API v1.0, Component v1.0)
                 MCA coll: basic (MCA v1.0, API v1.0, Component v1.2.3)
                 MCA coll: self (MCA v1.0, API v1.0, Component v1.2.3)
                 MCA coll: sm (MCA v1.0, API v1.0, Component v1.2.3)
                 MCA coll: tuned (MCA v1.0, API v1.0, Component v1.2.3)
                   MCA io: romio (MCA v1.0, API v1.0, Component v1.2.3)
                MCA mpool: rdma (MCA v1.0, API v1.0, Component v1.2.3)
                MCA mpool: sm (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA pml: ob1 (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA bml: r2 (MCA v1.0, API v1.0, Component v1.2.3)
               MCA rcache: vma (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA btl: self (MCA v1.0, API v1.0.1, Component v1.2.3)
                  MCA btl: sm (MCA v1.0, API v1.0.1, Component v1.2.3)
                  MCA btl: tcp (MCA v1.0, API v1.0.1, Component v1.0)
                 MCA topo: unity (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA osc: pt2pt (MCA v1.0, API v1.0, Component v1.2.3)
               MCA errmgr: hnp (MCA v1.0, API v1.3, Component v1.2.3)
               MCA errmgr: orted (MCA v1.0, API v1.3, Component v1.2.3)
               MCA errmgr: proxy (MCA v1.0, API v1.3, Component v1.2.3)
                  MCA gpr: proxy (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA gpr: replica (MCA v1.0, API v1.0, Component
v1.2.3)
                  MCA iof: proxy (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA iof: svc (MCA v1.0, API v1.0, Component v1.2.3)
                   MCA ns: proxy (MCA v1.0, API v2.0, Component v1.2.3)
                   MCA ns: replica (MCA v1.0, API v2.0, Component
v1.2.3)
                  MCA oob: tcp (MCA v1.0, API v1.0, Component v1.0)
                  MCA ras: dash_host (MCA v1.0, API v1.3, Component
v1.2.3)
                  MCA ras: gridengine (MCA v1.0, API v1.3, Component
v1.2.3)
                  MCA ras: localhost (MCA v1.0, API v1.3, Component
v1.2.3)
                  MCA rds: hostfile (MCA v1.0, API v1.3, Component
v1.2.3)
                  MCA rds: proxy (MCA v1.0, API v1.3, Component v1.2.3)
                  MCA rds: resfile (MCA v1.0, API v1.3, Component
v1.2.3)
                MCA rmaps: round_robin (MCA v1.0, API v1.3, Component
v1.2.3)
                 MCA rmgr: proxy (MCA v1.0, API v2.0, Component v1.2.3)
                 MCA rmgr: urm (MCA v1.0, API v2.0, Component v1.2.3)
                  MCA rml: oob (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA pls: gridengine (MCA v1.0, API v1.3, Component
v1.2.3)
                  MCA pls: proxy (MCA v1.0, API v1.3, Component v1.2.3)
                  MCA pls: rsh (MCA v1.0, API v1.3, Component v1.2.3)
                  MCA sds: env (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA sds: seed (MCA v1.0, API v1.0, Component v1.2.3)
                  MCA sds: singleton (MCA v1.0, API v1.0, Component
v1.2.3)
                   Prefix: /usr/
                   Bindir: /usr//bin
                   Libdir: /usr//lib
                   Incdir: /usr//include
                Pkglibdir: /usr//lib/openmpi
               Sysconfdir: /usr/share
  Configured architecture: x86_64-apple-darwin9.0
            Configured by: root
            Configured on: Sun Sep 23 19:30:10 PDT 2007
           Configure host: scoop.apple.com
                 Built by: root
                 Built on: Sun Sep 23 19:49:01 PDT 2007
               Built host: scoop.apple.com
               C bindings: yes
             C++ bindings: yes
       Fortran77 bindings: no
       Fortran90 bindings: no
  Fortran90 bindings size: na
               C compiler: gcc
      C compiler absolute: /usr/bin/gcc
              C char size: 1
              C bool size: 1
             C short size: 2
               C int size: 4
              C long size: 8
             C float size: 4
            C double size: 8
           C pointer size: 8
             C char align: 1
             C bool align: 1
              C int align: 4
            C float align: 4
           C double align: 8
             C++ compiler: g++
    C++ compiler absolute: /usr/bin/g++
       Fortran77 compiler: none
   Fortran77 compiler abs: none
       Fortran90 compiler: none
   Fortran90 compiler abs: none
        Fort integer size: 4
        Fort logical size: 4
  Fort logical value true: 0
           Fort real size: skipped
       Fort dbl prec size: skipped
           Fort cplx size: skipped
       Fort dbl cplx size: skipped
       Fort integer align: skipped
          Fort real align: skipped
      Fort dbl prec align: skipped
          Fort cplx align: skipped
      Fort dbl cplx align: skipped
              C profiling: yes
            C++ profiling: yes
      Fortran77 profiling: no
      Fortran90 profiling: no
           C++ exceptions: no
           Thread support: posix (mpi: no, progress: no)
             Build CFLAGS: -O3 -DNDEBUG -arch x86_64 -finline-
functions -fno-strict-aliasing
           Build CXXFLAGS: -O3 -DNDEBUG -arch x86_64 -finline-functions
             Build FFLAGS:
            Build FCFLAGS:
            Build LDFLAGS: -export-dynamic -Wl,-u,_munmap -Wl,-
multiply_defined,suppress
               Build LIBS: -lutil
     Wrapper extra CFLAGS:
   Wrapper extra CXXFLAGS:
     Wrapper extra FFLAGS:
    Wrapper extra FCFLAGS:
    Wrapper extra LDFLAGS: -Wl,-u,_munmap -Wl,-
multiply_defined,suppress
       Wrapper extra LIBS: -lutil
   Internal debug support: no
      MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
          libltdl support: yes
    Heterogeneous support: yes
  mpirun default --prefix: no
                  MCA mca: parameter "mca_param_files" (current value:
                           "/Users/fleischer/.openmpi/mca-params.conf:/
usr/share/openmpi-mca-params.conf")
                           Path for MCA configuration files containing
default parameter values
                  MCA mca: parameter "mca_component_path" (current
value: "/usr//lib/openmpi:/Users/fleischer/.openmpi/components")
                           Path where to look for Open MPI and ORTE
components
                  MCA mca: parameter "mca_verbose" (current value:
<none>)
                           Top-level verbosity parameter
                  MCA mca: parameter
"mca_component_show_load_errors" (current value: "1")
                           Whether to show errors for components that
failed to load or not
                  MCA mca: parameter
"mca_component_disable_dlopen" (current value: "0")
                           Whether to attempt to disable opening
dynamic components or not
                  MCA mpi: parameter "mpi_param_check" (current value:
"1")
                           Whether you want MPI API parameters checked
at run-time or not. Possible values are 0 (no checking) and 1
                           (perform checking at run-time)
                  MCA mpi: parameter "mpi_yield_when_idle" (current
value: "0")
                           Yield the processor when waiting for MPI
communication (for MPI processes, will default to 1 when
                           oversubscribing nodes)
                  MCA mpi: parameter "mpi_event_tick_rate" (current
value: "-1")
                           How often to progress TCP communications (0
= never, otherwise specified in microseconds)
                  MCA mpi: parameter "mpi_show_handle_leaks" (current
value: "0")
                           Whether MPI_FINALIZE shows all MPI handles
that were not freed or not
                  MCA mpi: parameter "mpi_no_free_handles" (current
value: "0")
                           Whether to actually free MPI objects when
their handles are freed
                  MCA mpi: parameter "mpi_show_mca_params" (current
value: "0")
                           Whether to show all MCA parameter value
during MPI_INIT or not (good for reproducability of MPI jobs)
                  MCA mpi: parameter
"mpi_show_mca_params_file" (current value: <none>)
                           If mpi_show_mca_params is true, setting
this string to a valid filename tells Open MPI to dump all the MCA
                           parameter values into a file suitable for
reading via the mca_param_files parameter (good for
                           reproducability of MPI jobs)
                  MCA mpi: parameter "mpi_paffinity_alone" (current
value: "0")
                           If nonzero, assume that this job is the
only (set of) process(es) running on each node and bind processes to
                           processors, starting with processor ID 0
                  MCA mpi: parameter
"mpi_keep_peer_hostnames" (current value: "1")
                           If nonzero, save the string hostnames of
all MPI peer processes (mostly for error / debugging output
                           messages). This can add quite a bit of
memory usage to each MPI process.
                  MCA mpi: parameter "mpi_abort_delay" (current value:
"0")
                           If nonzero, print out an identifying
message when MPI_ABORT is invoked (hostname, PID of the process that
                           called MPI_ABORT) and delay for that many
seconds before exiting (a negative delay value means to never
                           abort). This allows attaching of a
debugger before quitting the job.
                  MCA mpi: parameter "mpi_abort_print_stack" (current
value: "0")
                           If nonzero, print out a stack trace when
MPI_ABORT is invoked
                  MCA mpi: parameter "mpi_preconnect_all" (current
value: "0")
                           Whether to force MPI processes to create
connections / warmup with *all* peers during MPI_INIT (vs. making
                           connections lazily -- upon the first MPI
traffic between each process peer pair)
                  MCA mpi: parameter "mpi_preconnect_oob" (current
value: "0")
                           Whether to force MPI processes to fully
wire-up the OOB system between MPI processes.
                  MCA mpi: parameter "mpi_leave_pinned" (current
value: "0")
                           Whether to use the "leave pinned" protocol
or not. Enabling this setting can help bandwidth performance
                           when repeatedly sending and receiving large
messages with the same buffers over RDMA-based networks.
                  MCA mpi: parameter
"mpi_leave_pinned_pipeline" (current value: "0")
                           Whether to use the "leave pinned pipeline"
protocol or not.
                 MCA orte: parameter "orte_debug" (current value: "0")
                           Top-level ORTE debug switch
                 MCA orte: parameter "orte_no_daemonize" (current
value: "0")
                           Whether to properly daemonize the ORTE
daemons or not
                 MCA orte: parameter
"orte_base_user_debugger" (current value: "totalview @mpirun@ -a
@mpirun_args@ : fxp @mpirun@ -a
                           @mpirun_args@")
                           Sequence of user-level debuggers to search
for in orterun
                 MCA orte: parameter "orte_abort_timeout" (current
value: "10")
                           Time to wait [in seconds] before giving up
on aborting an ORTE operation
                 MCA orte: parameter "orte_timing" (current value: "0")
                           Request that critical timing loops be
measured
                 MCA opal: parameter "opal_signal" (current value:
"6,10,8,11")
                           If a signal is received, display the stack
trace frame
            MCA backtrace: parameter "backtrace" (current value: <none>)
                           Default selection set of components for the
backtrace framework (<none> means "use all components that can
                           be found")
            MCA backtrace: parameter "backtrace_base_verbose" (current
value: "0")
                           Verbosity level for the backtrace framework
(0 = no verbosity)
            MCA backtrace: parameter
"backtrace_execinfo_priority" (current value: "0")
               MCA memory: parameter "memory" (current value: <none>)
                           Default selection set of components for the
memory framework (<none> means "use all components that can be
                           found")
               MCA memory: parameter "memory_base_verbose" (current
value: "0")
                           Verbosity level for the memory framework (0
= no verbosity)
               MCA memory: parameter "memory_darwin_priority" (current
value: "0")
            MCA paffinity: parameter "paffinity" (current value: <none>)
                           Default selection set of components for the
paffinity framework (<none> means "use all components that can
                           be found")
            MCA maffinity: parameter "maffinity" (current value: <none>)
                           Default selection set of components for the
maffinity framework (<none> means "use all components that can
                           be found")
            MCA maffinity: parameter
"maffinity_first_use_priority" (current value: "10")
                           Priority of the first_use maffinity component
                MCA timer: parameter "timer" (current value: <none>)
                           Default selection set of components for the
timer framework (<none> means "use all components that can be
                           found")
                MCA timer: parameter "timer_base_verbose" (current
value: "0")
                           Verbosity level for the timer framework (0
= no verbosity)
                MCA timer: parameter "timer_darwin_priority" (current
value: "0")
            MCA allocator: parameter "allocator" (current value: <none>)
                           Default selection set of components for the
allocator framework (<none> means "use all components that can
                           be found")
            MCA allocator: parameter "allocator_base_verbose" (current
value: "0")
                           Verbosity level for the allocator framework
(0 = no verbosity)
            MCA allocator: parameter
"allocator_basic_priority" (current value: "0")
            MCA allocator: parameter
"allocator_bucket_num_buckets" (current value: "30")
            MCA allocator: parameter
"allocator_bucket_priority" (current value: "0")
                 MCA coll: parameter "coll" (current value: <none>)
                           Default selection set of components for the
coll framework (<none> means "use all components that can be
                           found")
                 MCA coll: parameter "coll_base_verbose" (current
value: "0")
                           Verbosity level for the coll framework (0 =
no verbosity)
                 MCA coll: parameter "coll_basic_priority" (current
value: "10")
                           Priority of the basic coll component
                 MCA coll: parameter "coll_basic_crossover" (current
value: "4")
                           Minimum number of processes in a
communicator before using the logarithmic algorithms
                 MCA coll: parameter "coll_self_priority" (current
value: "75")
                 MCA coll: parameter "coll_sm_priority" (current
value: "0")
                           Priority of the sm coll component
                 MCA coll: parameter "coll_sm_control_size" (current
value: "4096")
                           Length of the control data -- should
usually be either the length of a cache line on most SMPs, or the size
                           of a page on machines that support direct
memory affinity page placement (in bytes)
                 MCA coll: parameter
"coll_sm_bootstrap_filename" (current value: "shared_mem_sm_bootstrap")
                           Filename (in the Open MPI session
directory) of the coll sm component bootstrap rendezvous mmap file
                 MCA coll: parameter
"coll_sm_bootstrap_num_segments" (current value: "8")
                           Number of segments in the bootstrap file
                 MCA coll: parameter "coll_sm_fragment_size" (current
value: "8192")
                           Fragment size (in bytes) used for passing
data through shared memory (will be rounded up to the nearest
                           control_size size)
                 MCA coll: parameter "coll_sm_mpool" (current value:
"sm")
                           Name of the mpool component to use
                 MCA coll: parameter
"coll_sm_comm_in_use_flags" (current value: "2")
                           Number of "in use" flags, used to mark a
message passing area segment as currently being used or not (must
                           be >= 2 and <= comm_num_segments)
                 MCA coll: parameter
"coll_sm_comm_num_segments" (current value: "8")
                           Number of segments in each communicator's
shared memory message passing area (must be >= 2, and must be a
                           multiple of comm_in_use_flags)
                 MCA coll: parameter "coll_sm_tree_degree" (current
value: "4")
                           Degree of the tree for tree-based
operations (must be => 1 and <= min(control_size, 255))
                 MCA coll: information
"coll_sm_shared_mem_used_bootstrap" (value: "216")
                           Amount of shared memory used in the shared
memory bootstrap area (in bytes)
                 MCA coll: parameter "coll_sm_info_num_procs" (current
value: "4")
                           Number of processes to use for the
calculation of the shared_mem_size MCA information parameter (must be =>
                           2)
                 MCA coll: information
"coll_sm_shared_mem_used_data" (value: "548864")
                           Amount of shared memory used in the shared
memory data area for info_num_procs processes (in bytes)
                 MCA coll: parameter "coll_tuned_priority" (current
value: "30")
                           Priority of the tuned coll component
                 MCA coll: parameter
"coll_tuned_pre_allocate_memory_comm_size_limit" (current value:
"32768")
                           Size of communicator were we stop pre-
allocating memory for the fixed internal buffer used for message
                           requests etc that is hung off the
communicator data segment. I.e. if you have a 100'000 nodes you might
not
                           want to pre-allocate 200'000 request handle
slots per communicator instance!
                 MCA coll: parameter
"coll_tuned_init_tree_fanout" (current value: "4")
                           Inital fanout used in the tree topologies
for each communicator. This is only an initial guess, if a tuned
                           collective needs a different fanout for an
operation, it build it dynamically. This parameter is only for
                           the first guess and might save a little time
                 MCA coll: parameter
"coll_tuned_init_chain_fanout" (current value: "4")
                           Inital fanout used in the chain (fanout
followed by pipeline) topologies for each communicator. This is only
                           an initial guess, if a tuned collective
needs a different fanout for an operation, it build it dynamically.
                           This parameter is only for the first guess
and might save a little time
                 MCA coll: parameter
"coll_tuned_use_dynamic_rules" (current value: "0")
                           Switch used to decide if we use static
(compiled/if statements) or dynamic (built at runtime) decision
                           function rules
                   MCA io: parameter
"io_base_freelist_initial_size" (current value: "16")
                           Initial MPI-2 IO request freelist size
                   MCA io: parameter
"io_base_freelist_max_size" (current value: "64")
                           Max size of the MPI-2 IO request freelist
                   MCA io: parameter
"io_base_freelist_increment" (current value: "16")
                           Increment size of the MPI-2 IO request
freelist
                   MCA io: parameter "io" (current value: <none>)
                           Default selection set of components for the
io framework (<none> means "use all components that can be
                           found")
                   MCA io: parameter "io_base_verbose" (current value:
"0")
                           Verbosity level for the io framework (0 =
no verbosity)
                   MCA io: parameter "io_romio_priority" (current
value: "10")
                           Priority of the io romio component
                   MCA io: parameter
"io_romio_delete_priority" (current value: "10")
                           Delete priority of the io romio component
                   MCA io: parameter
"io_romio_enable_parallel_optimizations" (current value: "0")
                           Enable set of Open MPI-added options to
improve collective file i/o performance
                MCA mpool: parameter "mpool" (current value: <none>)
                           Default selection set of components for the
mpool framework (<none> means "use all components that can be
                           found")
                MCA mpool: parameter "mpool_base_verbose" (current
value: "0")
                           Verbosity level for the mpool framework (0
= no verbosity)
                MCA mpool: parameter "mpool_rdma_rcache_name" (current
value: "vma")
                           The name of the registration cache the
mpool should use
                MCA mpool: parameter
"mpool_rdma_rcache_size_limit" (current value: "0")
                           the maximum size of registration cache in
bytes. 0 is unlimited (default 0)
                MCA mpool: parameter "mpool_rdma_print_stats" (current
value: "0")
                           print pool usage statistics at the end of
the run
                MCA mpool: parameter "mpool_rdma_priority" (current
value: "0")
                MCA mpool: parameter "mpool_sm_allocator" (current
value: "bucket")
                           Name of allocator component to use with sm
mpool
                MCA mpool: parameter "mpool_sm_max_size" (current
value: "536870912")
                           Maximum size of the sm mpool shared memory
file
                MCA mpool: parameter "mpool_sm_min_size" (current
value: "134217728")
                           Minimum size of the sm mpool shared memory
file
                MCA mpool: parameter "mpool_sm_per_peer_size" (current
value: "33554432")
                           Size (in bytes) to allocate per local peer
in the sm mpool shared memory file, bounded by min_size and
                           max_size
                MCA mpool: parameter "mpool_sm_priority" (current
value: "0")
                MCA mpool: parameter
"mpool_base_use_mem_hooks" (current value: "0")
                           use memory hooks for deregistering freed
memory
                MCA mpool: parameter "mpool_use_mem_hooks" (current
value: "0")
                           (deprecated, use mpool_base_use_mem_hooks)
                  MCA pml: parameter "pml" (current value: <none>)
                           Default selection set of components for the
pml framework (<none> means "use all components that can be
                           found")
                  MCA pml: parameter "pml_base_verbose" (current
value: "0")
                           Verbosity level for the pml framework (0 =
no verbosity)
                  MCA pml: parameter "pml_ob1_free_list_num" (current
value: "4")
                  MCA pml: parameter "pml_ob1_free_list_max" (current
value: "-1")
                  MCA pml: parameter "pml_ob1_free_list_inc" (current
value: "64")
                  MCA pml: parameter "pml_ob1_priority" (current
value: "20")
                  MCA pml: parameter "pml_ob1_eager_limit" (current
value: "131072")
                  MCA pml: parameter
"pml_ob1_send_pipeline_depth" (current value: "3")
                  MCA pml: parameter
"pml_ob1_recv_pipeline_depth" (current value: "4")
                  MCA bml: parameter "bml" (current value: <none>)
                           Default selection set of components for the
bml framework (<none> means "use all components that can be
                           found")
                  MCA bml: parameter "bml_base_verbose" (current
value: "0")
                           Verbosity level for the bml framework (0 =
no verbosity)
                  MCA bml: parameter
"bml_r2_show_unreach_errors" (current value: "1")
                           Show error message when procs are unreachable
                  MCA bml: parameter "bml_r2_priority" (current value:
"0")
               MCA rcache: parameter "rcache" (current value: <none>)
                           Default selection set of components for the
rcache framework (<none> means "use all components that can be
                           found")
               MCA rcache: parameter "rcache_base_verbose" (current
value: "0")
                           Verbosity level for the rcache framework (0
= no verbosity)
               MCA rcache: parameter "rcache_vma_priority" (current
value: "0")
                  MCA btl: parameter "btl_base_debug" (current value:
"0")
                           If btl_base_debug is 1 standard debug is
output, if > 1 verbose debug is output
                  MCA btl: parameter "btl" (current value: <none>)
                           Default selection set of components for the
btl framework (<none> means "use all components that can be
                           found")
                  MCA btl: parameter "btl_base_verbose" (current
value: "0")
                           Verbosity level for the btl framework (0 =
no verbosity)
                  MCA btl: parameter "btl_self_free_list_num" (current
value: "0")
                           Number of fragments by default
                  MCA btl: parameter "btl_self_free_list_max" (current
value: "-1")
                           Maximum number of fragments
                  MCA btl: parameter "btl_self_free_list_inc" (current
value: "32")
                           Increment by this number of fragments
                  MCA btl: parameter "btl_self_eager_limit" (current
value: "131072")
                           Eager size fragmeng (before the rendez-vous
ptotocol)
                  MCA btl: parameter "btl_self_min_send_size" (current
value: "262144")
                           Minimum fragment size after the rendez-vous
                  MCA btl: parameter "btl_self_max_send_size" (current
value: "262144")
                           Maximum fragment size after the rendez-vous
                  MCA btl: parameter "btl_self_min_rdma_size" (current
value: "2147483647")
                           Maximum fragment size for the RDMA transfer
                  MCA btl: parameter "btl_self_max_rdma_size" (current
value: "2147483647")
                           Maximum fragment size for the RDMA transfer
                  MCA btl: parameter "btl_self_exclusivity" (current
value: "65536")
                           Device exclusivity
                  MCA btl: parameter "btl_self_flags" (current value:
"10")
                           Active behavior flags
                  MCA btl: parameter "btl_self_priority" (current
value: "0")
                  MCA btl: parameter "btl_sm_free_list_num" (current
value: "8")
                  MCA btl: parameter "btl_sm_free_list_max" (current
value: "-1")
                  MCA btl: parameter "btl_sm_free_list_inc" (current
value: "64")
                  MCA btl: parameter "btl_sm_exclusivity" (current
value: "65535")
                  MCA btl: parameter "btl_sm_latency" (current value:
"100")
                  MCA btl: parameter "btl_sm_max_procs" (current
value: "-1")
                  MCA btl: parameter "btl_sm_sm_extra_procs" (current
value: "2")
                  MCA btl: parameter "btl_sm_mpool" (current value:
"sm")
                  MCA btl: parameter "btl_sm_eager_limit" (current
value: "4096")
                  MCA btl: parameter "btl_sm_max_frag_size" (current
value: "32768")
                  MCA btl: parameter
"btl_sm_size_of_cb_queue" (current value: "128")
                  MCA btl: parameter
"btl_sm_cb_lazy_free_freq" (current value: "120")
                  MCA btl: parameter "btl_sm_priority" (current value:
"0")
                  MCA btl: parameter "btl_tcp_if_include" (current
value: <none>)
                  MCA btl: parameter "btl_tcp_if_exclude" (current
value: "lo")
                  MCA btl: parameter "btl_tcp_free_list_num" (current
value: "8")
                  MCA btl: parameter "btl_tcp_free_list_max" (current
value: "-1")
                  MCA btl: parameter "btl_tcp_free_list_inc" (current
value: "32")
                  MCA btl: parameter "btl_tcp_sndbuf" (current value:
"131072")
                  MCA btl: parameter "btl_tcp_rcvbuf" (current value:
"131072")
                  MCA btl: parameter "btl_tcp_endpoint_cache" (current
value: "30720")
                  MCA btl: parameter "btl_tcp_exclusivity" (current
value: "0")
                  MCA btl: parameter "btl_tcp_eager_limit" (current
value: "65536")
                  MCA btl: parameter "btl_tcp_min_send_size" (current
value: "65536")
                  MCA btl: parameter "btl_tcp_max_send_size" (current
value: "131072")
                  MCA btl: parameter "btl_tcp_min_rdma_size" (current
value: "131072")
                  MCA btl: parameter "btl_tcp_max_rdma_size" (current
value: "2147483647")
                  MCA btl: parameter "btl_tcp_flags" (current value:
"122")
                  MCA btl: parameter "btl_tcp_priority" (current
value: "0")
                  MCA btl: parameter "btl_base_include" (current
value: <none>)
                  MCA btl: parameter "btl_base_exclude" (current
value: <none>)
                  MCA btl: parameter
"btl_base_warn_component_unused" (current value: "1")
                           This parameter is used to turn on warning
messages when certain NICs are not used
                  MCA mtl: parameter "mtl" (current value: <none>)
                           Default selection set of components for the
mtl framework (<none> means "use all components that can be
                           found")
                  MCA mtl: parameter "mtl_base_verbose" (current
value: "0")
                           Verbosity level for the mtl framework (0 =
no verbosity)
                 MCA topo: parameter "topo" (current value: <none>)
                           Default selection set of components for the
topo framework (<none> means "use all components that can be
                           found")
                 MCA topo: parameter "topo_base_verbose" (current
value: "0")
                           Verbosity level for the topo framework (0 =
no verbosity)
                  MCA osc: parameter "osc" (current value: <none>)
                           Default selection set of components for the
osc framework (<none> means "use all components that can be
                           found")
                  MCA osc: parameter "osc_base_verbose" (current
value: "0")
                           Verbosity level for the osc framework (0 =
no verbosity)
                  MCA osc: parameter "osc_pt2pt_no_locks" (current
value: "0")
                           Enable optimizations available only if
MPI_LOCK is not used.
                  MCA osc: parameter "osc_pt2pt_eager_limit" (current
value: "16384")
                           Max size of eagerly sent data
                  MCA osc: parameter "osc_pt2pt_priority" (current
value: "0")
               MCA errmgr: parameter "errmgr" (current value: <none>)
                           Default selection set of components for the
errmgr framework (<none> means "use all components that can be
                           found")
               MCA errmgr: parameter "errmgr_hnp_debug" (current
value: "0")
               MCA errmgr: parameter "errmgr_hnp_priority" (current
value: "0")
               MCA errmgr: parameter "errmgr_orted_debug" (current
value: "0")
               MCA errmgr: parameter "errmgr_orted_priority" (current
value: "0")
               MCA errmgr: parameter "errmgr_proxy_debug" (current
value: "0")
               MCA errmgr: parameter "errmgr_proxy_priority" (current
value: "0")
                  MCA gpr: parameter "gpr_base_maxsize" (current
value: "2147483647")
                  MCA gpr: parameter "gpr_base_blocksize" (current
value: "512")
                  MCA gpr: parameter "gpr" (current value: <none>)
                           Default selection set of components for the
gpr framework (<none> means "use all components that can be
                           found")
                  MCA gpr: parameter "gpr_proxy_debug" (current value:
"0")
                  MCA gpr: parameter "gpr_proxy_priority" (current
value: "0")
                  MCA gpr: parameter "gpr_replica_debug" (current
value: "0")
                  MCA gpr: parameter "gpr_replica_isolate" (current
value: "0")
                  MCA gpr: parameter "gpr_replica_priority" (current
value: "0")
                  MCA iof: parameter "iof_base_window_size" (current
value: "4096")
                  MCA iof: parameter "iof_base_service" (current
value: "0.0.0")
                  MCA iof: parameter "iof" (current value: <none>)
                           Default selection set of components for the
iof framework (<none> means "use all components that can be
                           found")
                  MCA iof: parameter "iof_proxy_debug" (current value:
"1")
                  MCA iof: parameter "iof_proxy_priority" (current
value: "0")
                  MCA iof: parameter "iof_svc_debug" (current value:
"1")
                  MCA iof: parameter "iof_svc_priority" (current
value: "0")
                   MCA ns: parameter "ns" (current value: <none>)
                           Default selection set of components for the
ns framework (<none> means "use all components that can be
                           found")
                   MCA ns: parameter "ns_proxy_debug" (current value:
"0")
                   MCA ns: parameter "ns_proxy_maxsize" (current
value: "2147483647")
                   MCA ns: parameter "ns_proxy_blocksize" (current
value: "512")
                   MCA ns: parameter "ns_proxy_priority" (current
value: "0")
                   MCA ns: parameter "ns_replica_debug" (current
value: "0")
                   MCA ns: parameter "ns_replica_isolate" (current
value: "0")
                   MCA ns: parameter "ns_replica_maxsize" (current
value: "2147483647")
                   MCA ns: parameter "ns_replica_blocksize" (current
value: "512")
                   MCA ns: parameter "ns_replica_priority" (current
value: "0")
                  MCA oob: parameter "oob" (current value: <none>)
                           Default selection set of components for the
oob framework (<none> means "use all components that can be
                           found")
                  MCA oob: parameter "oob_base_verbose" (current
value: "0")
                           Verbosity level for the oob framework (0 =
no verbosity)
                  MCA oob: parameter "oob_tcp_peer_limit" (current
value: "-1")
                  MCA oob: parameter "oob_tcp_peer_retries" (current
value: "60")
                  MCA oob: parameter "oob_tcp_debug" (current value:
"0")
                  MCA oob: parameter "oob_tcp_sndbuf" (current value:
"131072")
                  MCA oob: parameter "oob_tcp_rcvbuf" (current value:
"131072")
                  MCA oob: parameter "oob_tcp_if_include" (current
value: <none>)
                           Comma-delimited list of TCP interfaces to use
                  MCA oob: parameter "oob_tcp_if_exclude" (current
value: <none>)
                           Comma-delimited list of TCP interfaces to
exclude
                  MCA oob: parameter "oob_tcp_connect_sleep" (current
value: "1")
                           Enable (1) / disable (0) random sleep for
connection wireup
                  MCA oob: parameter "oob_tcp_listen_mode" (current
value: "event")
                           Mode for HNP to accept incoming
connections: event, listen_thread
                  MCA oob: parameter
"oob_tcp_listen_thread_max_queue" (current value: "10")
                           High water mark for queued accepted socket
list size
                  MCA oob: parameter
"oob_tcp_listen_thread_max_time" (current value: "10")
                           Maximum amount of time (in milliseconds) to
wait between processing accepted socket list
                  MCA oob: parameter
"oob_tcp_accept_spin_count" (current value: "10")
                           Number of times to let accept return
EWOULDBLOCK before updating accepted socket list
                  MCA oob: parameter "oob_tcp_priority" (current
value: "0")
                  MCA ras: parameter "ras" (current value: <none>)
                  MCA ras: parameter "ras_dash_host_priority" (current
value: "5")
                           Selection priority for the dash_host RAS
component
                  MCA ras: parameter "ras_gridengine_debug" (current
value: "0")
                           Enable debugging output for the gridengine
ras component
                  MCA ras: parameter
"ras_gridengine_priority" (current value: "100")
                           Priority of the gridengine ras component
                  MCA ras: parameter "ras_gridengine_verbose" (current
value: "0")
                           Enable verbose output for the gridengine
ras component
                  MCA ras: parameter
"ras_gridengine_show_jobid" (current value: "0")
                           Show the JOB_ID of the Grid Engine job
                  MCA ras: parameter "ras_localhost_priority" (current
value: "0")
                           Selection priority for the localhost RAS
component
                  MCA rds: parameter "rds" (current value: <none>)
                  MCA rds: parameter "rds_hostfile_debug" (current
value: "0")
                           Toggle debug output for hostfile RDS
component
                  MCA rds: parameter "rds_hostfile_path" (current
value: "/usr/share/openmpi-default-hostfile")
                           ORTE Host filename
                  MCA rds: parameter "rds_hostfile_priority" (current
value: "0")
                  MCA rds: parameter "rds_proxy_priority" (current
value: "0")
                  MCA rds: parameter "rds_resfile_debug" (current
value: "0")
                           Toggle debug output for resfile RDS component
                  MCA rds: parameter "rds_resfile_name" (current
value: <none>)
                           ORTE Resource filename
                  MCA rds: parameter "rds_resfile_priority" (current
value: "0")
                MCA rmaps: parameter "rmaps_base_verbose" (current
value: "0")
                           Verbosity level for the rmaps framework
                MCA rmaps: parameter
"rmaps_base_schedule_policy" (current value: "unspec")
                           Scheduling Policy for RMAPS. [slot | node]
                MCA rmaps: parameter "rmaps_base_pernode" (current
value: "0")
                           Launch one ppn as directed
                MCA rmaps: parameter "rmaps_base_n_pernode" (current
value: "-1")
                           Launch n procs/node
                MCA rmaps: parameter
"rmaps_base_no_schedule_local" (current value: "0")
                           If false, allow scheduling MPI applications
on the same node as mpirun (default). If true, do not schedule
                           any MPI applications on the same node as
mpirun
                MCA rmaps: parameter
"rmaps_base_no_oversubscribe" (current value: "0")
                           If true, then do not allow oversubscription
of nodes - mpirun will return an error if there aren't enough
                           nodes to launch all processes without
oversubscribing
                MCA rmaps: parameter "rmaps" (current value: <none>)
                           Default selection set of components for the
rmaps framework (<none> means "use all components that can be
                           found")
                MCA rmaps: parameter
"rmaps_round_robin_debug" (current value: "1")
                           Toggle debug output for Round Robin RMAPS
component
                MCA rmaps: parameter
"rmaps_round_robin_priority" (current value: "1")
                           Selection priority for Round Robin RMAPS
component
                 MCA rmgr: parameter "rmgr" (current value: <none>)
                           Default selection set of components for the
rmgr framework (<none> means "use all components that can be
                           found")
                 MCA rmgr: parameter "rmgr_proxy_priority" (current
value: "0")
                 MCA rmgr: parameter "rmgr_urm_priority" (current
value: "0")
                  MCA rml: parameter "rml" (current value: <none>)
                           Default selection set of components for the
rml framework (<none> means "use all components that can be
                           found")
                  MCA rml: parameter "rml_base_verbose" (current
value: "0")
                           Verbosity level for the rml framework (0 =
no verbosity)
                  MCA rml: parameter "rml_oob_priority" (current
value: "0")
                  MCA pls: parameter "pls_base_reuse_daemons" (current
value: "0")
                           If nonzero, reuse daemons to launch
dynamically spawned processes. If zero, do not reuse daemons (default)
                  MCA pls: parameter "pls" (current value: <none>)
                           Default selection set of components for the
pls framework (<none> means "use all components that can be
                           found")
                  MCA pls: parameter "pls_base_verbose" (current
value: "0")
                           Verbosity level for the pls framework (0 =
no verbosity)
                  MCA pls: parameter "pls_gridengine_debug" (current
value: "0")
                           Enable debugging of gridengine pls component
                  MCA pls: parameter "pls_gridengine_verbose" (current
value: "0")
                           Enable verbose output of the gridengine
qrsh -inherit command
                  MCA pls: parameter
"pls_gridengine_priority" (current value: "100")
                           Priority of the gridengine pls component
                  MCA pls: parameter "pls_gridengine_orted" (current
value: "orted")
                           The command name that the gridengine pls
component will invoke for the ORTE daemon
                  MCA pls: parameter "pls_proxy_priority" (current
value: "0")
                  MCA pls: parameter "pls_rsh_debug" (current value:
"0")
                           Whether or not to enable debugging output
for the rsh pls component (0 or 1)
                  MCA pls: parameter "pls_rsh_num_concurrent" (current
value: "128")
                           How many pls_rsh_agent instances to invoke
concurrently (must be > 0)
                  MCA pls: parameter "pls_rsh_force_rsh" (current
value: "0")
                           Force the launcher to always use rsh, even
for local daemons
                  MCA pls: parameter "pls_rsh_orted" (current value:
"orted")
                           The command name that the rsh pls component
will invoke for the ORTE daemon
                  MCA pls: parameter "pls_rsh_priority" (current
value: "10")
                           Priority of the rsh pls component
                  MCA pls: parameter "pls_rsh_delay" (current value:
"1")
                           Delay (in seconds) between invocations of
the remote agent, but only used when the "debug" MCA parameter is
                           true, or the top-level MCA debugging is
enabled (otherwise this value is ignored)
                  MCA pls: parameter "pls_rsh_reap" (current value: "1")
                           If set to 1, wait for all the processes to
complete before exiting. Otherwise, quit immediately -- without
                           waiting for confirmation that all other
processes in the job have completed.
                  MCA pls: parameter
"pls_rsh_assume_same_shell" (current value: "1")
                           If set to 1, assume that the shell on the
remote node is the same as the shell on the local node.
                           Otherwise, probe for what the remote shell.
                  MCA pls: parameter "pls_rsh_agent" (current value:
"ssh : rsh")
                           The command used to launch executables on
remote nodes (typically either "ssh" or "rsh")
                  MCA sds: parameter "sds" (current value: <none>)
                           Default selection set of components for the
sds framework (<none> means "use all components that can be
                           found")
                  MCA sds: parameter "sds_base_verbose" (current
value: "0")
                           Verbosity level for the sds framework (0 =
no verbosity)
                  MCA sds: parameter "sds_env_priority" (current
value: "0")
                  MCA sds: parameter "sds_seed_priority" (current
value: "0")
                  MCA sds: parameter "sds_singleton_priority" (current
value: "0")