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")