Open MPI main development repository (BSD license)
https://github.com/open-mpi/ompi
886edabc12
This commit was SVN r25687. |
||
---|---|---|
config | ||
contrib | ||
examples | ||
ompi | ||
opal | ||
orte | ||
test | ||
AUTHORS | ||
autogen.pl | ||
autogen.sh | ||
CMakeLists.txt | ||
configure.ac | ||
Doxyfile | ||
HACKING | ||
INSTALL | ||
LICENSE | ||
Makefile.am | ||
Makefile.man-page-rules | ||
NEWS | ||
README | ||
README.WINDOWS.txt | ||
VERSION |
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!