1
1
Open MPI main development repository (BSD license) https://github.com/open-mpi/ompi
Перейти к файлу
Shiqing Fan 886edabc12 Add a missing CMake config file into the tarball.
This commit was SVN r25687.
2011-12-30 10:44:15 +00:00
config Rather than looking for any path, look for any non-absolute path starting 2011-07-20 23:28:17 +00:00
contrib Add a missing CMake config file into the tarball. 2011-12-30 10:44:15 +00:00
examples Why would Barrier be in the hello world example? Looks like a really 2011-11-10 19:41:46 +00:00
ompi Some additional CUDA specific code. 2011-12-29 12:31:54 +00:00
opal Some additional CUDA specific code. 2011-12-29 12:31:54 +00:00
orte Missed a couple 2011-12-29 23:30:19 +00:00
test - Check, whether the compiler supports __builtin_clz (count leading 2011-10-11 22:49:01 +00:00
AUTHORS Add a resilience to ORTE. Allows the runtime to continue after a process (or 2011-06-23 20:38:02 +00:00
autogen.pl Be sure to check .ompi_unignore properly against the multi-line 2011-06-20 17:47:33 +00:00
autogen.sh symlink to keep backward compat 2010-09-20 14:58:45 +00:00
CMakeLists.txt Set the compiler flags in a better way. 2011-09-12 08:24:27 +00:00
configure.ac No longer need this include 2011-12-09 00:40:07 +00:00
Doxyfile Fix the broken Doxyfile so people can generate what little code base documentation we have :-) 2006-04-13 12:52:17 +00:00
HACKING Update the notes about flex. 2011-10-11 16:55:50 +00:00
INSTALL I have no idea where all those 1's came from! 2010-10-06 20:41:16 +00:00
LICENSE Add (optional/last ditch effort) support for GCC/Intel __sync_ builtin atomic 2011-11-23 04:25:41 +00:00
Makefile.am Rename README.WINDOWS 2010-12-14 14:20:42 +00:00
Makefile.man-page-rules Some more work on the man pages: 2008-08-07 19:20:40 +00:00
NEWS Added bullets for NEWS 2011-12-14 19:28:16 +00:00
README provide descriptions about the functionality of these frameworks. 2011-12-22 19:42:00 +00:00
README.WINDOWS.txt Rename README.WINDOWS 2010-12-14 14:20:42 +00:00
VERSION Add support for CUDA registering sm and openib buffers. Feature is disabled by default. 2011-08-04 10:15:45 +00:00

fcoll     - collective read and write operations for MPI I/O
fs        - file system functions for MPI I/O
io        - MPI-2 I/O
mpool     - Memory pooling
mtl       - Matching transport layer, used for MPI point-to-point
            messages on some types of networks
op        - Back end computations for intrinsic MPI_Op operators
osc       - MPI-2 one-sided communications
pml       - MPI point-to-point management layer
pubsub    - MPI-2 publish/subscribe management
rcache    - Memory registration cache
sharedfp  - shared file pointer operations for MPI I/O
topo      - MPI topology routines
vprotocol - Protocols for the "v" PML

Back-end run-time environment (RTE) component frameworks:
---------------------------------------------------------

debugger  - Parallel debugger support
errmgr    - RTE error manager
ess       - RTE environment-specfic services
filem     - Remote file management
grpcomm   - RTE group communications
iof       - I/O forwarding
notifier  - System/network administrator noficiation system
odls      - OpenRTE daemon local launch subsystem
oob       - Out of band messaging
plm       - Process lifecycle management
ras       - Resource allocation system
rmaps     - Resource mapping system
rml       - RTE message layer
routed    - Routing table for the RML
sensor    - Software and hardware health monitoring
snapc     - Snapshot coordination
sstore    - Distributed scalable storage

Miscellaneous frameworks:
-------------------------

backtrace   - Debugging call stack backtrace support
carto       - Cartography (host/network mapping) support
compress    - Compression algorithms
crs         - Checkpoint and restart service
event       - Event library (libevent) versioning support
hwloc       - Hardware locality (hwloc) versioning support
if          - OS IP interface support
installdirs - Installation directory relocation services
maffinity   - Memory affinity
memchecker  - Run-time memory checking
memcpy      - Memopy copy support
memory      - Memory management hooks
paffinity   - Processor affinity
pstat       - Process status
shmem       - Shared memory support
timer       - High-resolution timers

---------------------------------------------------------------------------

Each framework typically has one or more components that are used at
run-time.  For example, the btl framework is used by the MPI layer to
send bytes across different types underlying networks.  The tcp btl,
for example, sends messages across TCP-based networks; the openib btl
sends messages across OpenFabrics-based networks; the MX btl sends
messages across Myrinet MX / Open-MX networks.

Each component typically has some tunable parameters that can be
changed at run-time.  Use the ompi_info command to check a component
to see what its tunable parameters are.  For example:

shell$ ompi_info --param btl tcp

shows all the parameters (and default values) for the tcp btl
component.

These values can be overridden at run-time in several ways.  At
run-time, the following locations are examined (in order) for new
values of parameters:

1. <prefix>/etc/openmpi-mca-params.conf

   This file is intended to set any system-wide default MCA parameter
   values -- it will apply, by default, to all users who use this Open
   MPI installation.  The default file that is installed contains many
   comments explaining its format.

2. $HOME/.openmpi/mca-params.conf

   If this file exists, it should be in the same format as
   <prefix>/etc/openmpi-mca-params.conf.  It is intended to provide
   per-user default parameter values.

3. environment variables of the form OMPI_MCA_<name> set equal to a
   <value>

   Where <name> is the name of the parameter.  For example, set the
   variable named OMPI_MCA_btl_tcp_frag_size to the value 65536
   (Bourne-style shells):

   shell$ OMPI_MCA_btl_tcp_frag_size=65536
   shell$ export OMPI_MCA_btl_tcp_frag_size

4. the mpirun command line: --mca <name> <value>
 
   Where <name> is the name of the parameter.  For example:

   shell$ mpirun --mca btl_tcp_frag_size 65536 -np 2 hello_world_mpi

These locations are checked in order.  For example, a parameter value
passed on the mpirun command line will override an environment
variable; an environment variable will override the system-wide
defaults.

Each component typically activates itself when relavant.  For example,
the MX component will detect that MX devices are present and will
automatically be used for MPI communications.  The SLURM component
will automatically detect when running inside a SLURM job and activate
itself.  And so on.

Components can be manually activated or deactivated if necessary, of
course.  The most common components that are manually activated,
deactivated, or tuned are the "BTL" components -- components that are
used for MPI point-to-point communications on many types common
networks. 

For example, to *only* activate the TCP and "self" (process loopback)
components are used for MPI communications, specify them in a
comma-delimited list to the "btl" MCA parameter:

   shell$ mpirun --mca btl tcp,self hello_world_mpi

To add shared memory support, add "sm" into the command-delimited list
(list order does not matter):
    
   shell$ mpirun --mca btl tcp,sm,self hello_world_mpi

To specifically deactivate a specific component, the comma-delimited
list can be prepended with a "^" to negate it:

   shell$ mpirun --mca btl ^tcp hello_mpi_world

The above command will use any other BTL component other than the tcp
component.

===========================================================================

Common Questions
----------------

Many common questions about building and using Open MPI are answered
on the FAQ:

    http://www.open-mpi.org/faq/

===========================================================================

Got more questions?
-------------------

Found a bug?  Got a question?  Want to make a suggestion?  Want to
contribute to Open MPI?  Please let us know!

When submitting questions and problems, be sure to include as much
extra information as possible.  This web page details all the
information that we request in order to provide assistance:

     http://www.open-mpi.org/community/help/

User-level questions and comments should generally be sent to the
user's mailing list (users@open-mpi.org).  Because of spam, only
subscribers are allowed to post to this list (ensure that you
subscribe with and post from *exactly* the same e-mail address --
joe@example.com is considered different than
joe@mycomputer.example.com!).  Visit this page to subscribe to the
user's list:

     http://www.open-mpi.org/mailman/listinfo.cgi/users

Developer-level bug reports, questions, and comments should generally
be sent to the developer's mailing list (devel@open-mpi.org).  Please
do not post the same question to both lists.  As with the user's list,
only subscribers are allowed to post to the developer's list.  Visit
the following web page to subscribe:

     http://www.open-mpi.org/mailman/listinfo.cgi/devel

Make today an Open MPI day!