- Remove bogus/outdated man page info
- Added in MCA type information for all currently existing MCA component frameworks This commit was SVN r1622.
Этот коммит содержится в:
родитель
4c14a1cd7e
Коммит
01ed516ad3
@ -11,6 +11,10 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "mca/base/base.h"
|
||||
#include "mca/allocator/allocator.h"
|
||||
#include "mca/allocator/base/base.h"
|
||||
#include "mca/mpool/mpool.h"
|
||||
#include "mca/mpool/base/base.h"
|
||||
#include "mca/pcm/pcm.h"
|
||||
#include "mca/pcm/base/base.h"
|
||||
#include "mca/oob/oob.h"
|
||||
@ -21,6 +25,8 @@
|
||||
#include "mca/ptl/base/base.h"
|
||||
#include "mca/coll/coll.h"
|
||||
#include "mca/coll/base/base.h"
|
||||
#include "mca/ns/ns.h"
|
||||
#include "mca/ns/base/base.h"
|
||||
#include "tools/ompi_info/ompi_info.h"
|
||||
|
||||
using namespace std;
|
||||
@ -70,22 +76,33 @@ void ompi_info::open_modules()
|
||||
}
|
||||
}
|
||||
|
||||
// Open all modules
|
||||
// Find / open all components
|
||||
|
||||
mca_base_open();
|
||||
module_map["base"] = NULL;
|
||||
|
||||
mca_pcm_base_open();
|
||||
module_map["pcm"] = &mca_pcm_base_modules_available;
|
||||
mca_allocator_base_open();
|
||||
module_map["allocator"] = &mca_allocator_base_components;
|
||||
|
||||
// oob module opening not implemented yet
|
||||
mca_oob_base_open();
|
||||
module_map["oob"] = &mca_oob_base_components;
|
||||
|
||||
// coll module opening not implemented yet
|
||||
mca_coll_base_open();
|
||||
module_map["coll"] = &mca_coll_base_components_opened;
|
||||
|
||||
#if 0
|
||||
// common component framework not implemented yet
|
||||
mca_common_base_open();
|
||||
module_map["common"] = &mca_common_base_components_opened;
|
||||
#else
|
||||
module_map["common"] = NULL;
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
// waiting for gpr to be implemented
|
||||
mca_gpr_base_open();
|
||||
module_map["gpr"] = &mca_ns_base_components_available;
|
||||
#else
|
||||
module_map["gpr"] = NULL;
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
// io module opening not implemented yet
|
||||
mca_io_base_open();
|
||||
@ -94,6 +111,12 @@ void ompi_info::open_modules()
|
||||
module_map["io"] = NULL;
|
||||
#endif
|
||||
|
||||
mca_ns_base_open();
|
||||
module_map["ns"] = &mca_ns_base_components_available;
|
||||
|
||||
mca_mpool_base_open();
|
||||
module_map["mpool"] = &mca_mpool_base_components;
|
||||
|
||||
#if 0
|
||||
// one module opening not implemented yet
|
||||
mca_one_base_open();
|
||||
@ -102,11 +125,23 @@ void ompi_info::open_modules()
|
||||
module_map["one"] = NULL;
|
||||
#endif
|
||||
|
||||
// pml module opening not implemented yet
|
||||
mca_oob_base_open();
|
||||
module_map["oob"] = &mca_oob_base_components;
|
||||
|
||||
#if 0
|
||||
// op component framework not yet implemented
|
||||
mca_op_base_open();
|
||||
module_map["op"] = &mca_oob_base_components;
|
||||
#else
|
||||
module_map["op"] = NULL;
|
||||
#endif
|
||||
|
||||
mca_pcm_base_open();
|
||||
module_map["pcm"] = &mca_pcm_base_modules_available;
|
||||
|
||||
mca_pml_base_open();
|
||||
module_map["pml"] = &mca_pml_base_modules_available;
|
||||
|
||||
// ptl module opening not implemented yet
|
||||
mca_ptl_base_open();
|
||||
module_map["ptl"] = &mca_ptl_base_modules_available;
|
||||
|
||||
@ -129,6 +164,7 @@ void ompi_info::close_modules()
|
||||
if (opened_modules) {
|
||||
mca_pcm_base_close();
|
||||
mca_oob_base_close();
|
||||
mca_ns_base_close();
|
||||
mca_coll_base_close();
|
||||
mca_pml_base_close();
|
||||
mca_ptl_base_close();
|
||||
|
@ -24,189 +24,6 @@
|
||||
#include "mca/base/base.h"
|
||||
#include "tools/ompi_info/ompi_info.h"
|
||||
|
||||
|
||||
/*
|
||||
* This will ultimately end up being the manual for ompi_info
|
||||
*
|
||||
* ompi_info - Display configuration information about OMPI/MPI
|
||||
* SYNTAX
|
||||
* ompi_info [-arch] [-config] [-help|-h] [-param <type> <module>]
|
||||
* [-parsable|-pretty] [-path <item>] [-version <item> <scope>]
|
||||
* OPTIONS
|
||||
* -all Show all configuration information
|
||||
* -arch Show architecture that OMPI was configured for
|
||||
* -config Show some information about OMPI configuration
|
||||
* -help Show help message
|
||||
* -param Show MCA parameter(s) for a given MCA type and module
|
||||
* -parsable Show output in an easily parsable format
|
||||
* -path <item> Print a given configuration path
|
||||
* -pretty Show output in a prettyprint format (default)
|
||||
* -version Print some or part of a version number of a given item
|
||||
* DESCRIPTION
|
||||
* The ompi_info command is used to display information about a OMPI/MPI
|
||||
* installation. Particularly with the MCA run-time module selection sys-
|
||||
* tem, the ompi_info command can be useful to scripts and resource managers
|
||||
* to determine the capabilities of the installed OMPI/MPI in order to pass
|
||||
* run-time parameters to MPI programs.
|
||||
* Output can be displayed in a "pretty" format (i.e., suitable for human
|
||||
* reading) and also in a parsable format (i.e., suitable for easy parsing
|
||||
* by scripts or other automated mechanisms). There are no other OMPI API
|
||||
* functions to retrieve this data (in any language); the ompi_info command
|
||||
* is the best mechanism to obtain any configuration information about
|
||||
* OMPI/MPI. The parsable output was designed such that common utilities
|
||||
* such as grep, awk, cut, and sed can easily be used to extract relevant
|
||||
* information.
|
||||
* Running ompi_info with no arguments will display a subset of configura-
|
||||
* tion parameters in the "pretty" format (see the EXAMPLES section,
|
||||
* below). Several command line options are available to limit exactly
|
||||
* which information is displayed. These options, when used in conjunc-
|
||||
* tion with the parsable output, can provide automated mechanisms spe-
|
||||
* cific information about the capabilities of OMPI/MPI.
|
||||
* GENERAL PARAMETERS
|
||||
* The -pretty and -parsable switches are used to select whether to dis-
|
||||
* play the output in "pretty" or machine-parsable format, respectively.
|
||||
* If neither is specified, -pretty is the default.
|
||||
* The -arch switch will display the architecture that OMPI/MPI was config-
|
||||
* ured and compiled on.
|
||||
* The -config switch will display a set of configuration information
|
||||
* about the MPI capabilities of OMPI/MPI, such as whether there are C,
|
||||
* C++, and Fortran MPI bindings available, whether there is MPI profiling
|
||||
* support for C, C++, and Fortran, whether ROMIO support is available,
|
||||
* whether IMPI support is available, whether debugging support is avail-
|
||||
* able (mostly for OMPI/MPI maintainers), and whether OMPI/MPI is "purify
|
||||
* clean" (meaning that it is suitable for use with memory checking debug-
|
||||
* gers). Most of these are options to the OMPI/MPI configure script, and
|
||||
* are configure/compile-time selections that cannot be changed once OMPI
|
||||
* has been installed. While there is no fine-grained control to individ-
|
||||
* ually request each of these pieces of information, using -config in
|
||||
* conjunction with -parsable and commands such as grep can return any
|
||||
* individual piece of information.
|
||||
* PARAM PARAMETERS
|
||||
* The -param switch can be used to show available MCA parameters and
|
||||
* their default values. The type and module arguments can be used to
|
||||
* specify a particular MCA type and/or module, or use the special keyword
|
||||
* "all" to indicate all available MCA types/modules (respectively).
|
||||
* Available MCA types are:
|
||||
* all Show all MCA types
|
||||
* base Intrinsic OMPI/MPI parameters
|
||||
* boot Boot modules (e.g., ompi_boot)
|
||||
* coll MPI collectives
|
||||
* cr Checkpoint / restart
|
||||
* RPI MPI point-to-point.
|
||||
* The names of the modules that are available are dependant upon which
|
||||
* modules are available for any given type. See EXAMPLES, below, for
|
||||
* example usage.
|
||||
* PATH PARAMETERS
|
||||
* The -path switch returns various paths that were compiled into OMPI/MPI.
|
||||
* These were all decided when OMPI was configured, and cannot be changed
|
||||
* at run-time. However, knowing the location of these directories can be
|
||||
* useful in order to find OMPI data files, binaries, include files, etc.
|
||||
* The -path switch takes a parameter: item. Pomcable values for item
|
||||
* are:
|
||||
* prefix Display the prefix directory for OMPI/MPI
|
||||
* bindir Display the directory where the OMPI/MPI executables were
|
||||
* installed
|
||||
* libdir Display the directory where the OMPI/MPI libraries were
|
||||
* installed
|
||||
* incdir Display the directory where the OMPI/MPI include files were
|
||||
* installed
|
||||
* pkglibdir Display the directory where the OMPI/MPI dynamic libraries
|
||||
* were installed
|
||||
* sysconfdir Display the directory where the OMPI/MPI help and configura-
|
||||
* tion files were installed
|
||||
* Note that although OMPI's GNU configure script defaults to certain val-
|
||||
* ues for all of these directories based on the prefix (e.g., bindir is
|
||||
* typically $prefix/bin), they can all be overriden by command line
|
||||
* switches to configure, and should therefore never be assumed. Use ompi-
|
||||
* info to determine what values were selected at configure time.
|
||||
* VERSION PARAMETERS
|
||||
* Since each MCA module in OMPI/MPI is an independant entity in itself, it
|
||||
* may have an entirely different version number than OMPI/MPI itself.
|
||||
* Indeed, each MCA module has three version numbers: the version of the
|
||||
* base MCA API that it supports, the version of the component type API
|
||||
* it it supports, and its own version number. Most users will only
|
||||
* care about the last one (the module's own version number).
|
||||
* The -path switch takes two parameters: item and scope.
|
||||
* The item can be the main OMPI version itself, any of the MCA types, or a
|
||||
* specific MCA module. There are currently four kinds of MCA modules
|
||||
* that can be queried: boot, coll, pml, and cr. Hence, the version num-
|
||||
* bers that can be obtained from the -version switch are:
|
||||
* ompi The version of OMPI/MPI
|
||||
* boot The three versions of each boot MCA module
|
||||
* boot:name The three versions of a specific boot MCA module
|
||||
* coll The three versions of each coll MCA module
|
||||
* coll:name The three versions of a specific coll MCA module
|
||||
* pml The three versions of each pml MCA module
|
||||
* pml:name The three versions of a specific pml MCA module
|
||||
* cr The three versions of each cr MCA module
|
||||
* cr:name The three versions of a specific cr MCA module
|
||||
* The scope argument describes what part of the version number to dis-
|
||||
* play. This allows either the full version number to be displayed, or
|
||||
* any specific individual component of the version number. Valid values
|
||||
* for scope are:
|
||||
* full Display the full version number (i.e., all components). A
|
||||
* sequence of rules are used to run all the components
|
||||
* together into a single string. Generally: major and minor
|
||||
* are always displayed, but other components are only dis-
|
||||
* played if they are not zero.
|
||||
* major Display the major version number
|
||||
* minor Display the minor version number
|
||||
* release Display the release version number
|
||||
* alpha Display the alpha version number. In the full scope, if
|
||||
* nonzero, this number will be preceeded by "a".
|
||||
* beta Display the beta version number. In the full scope, if
|
||||
* nonzero, this number will be preceeded by "b".
|
||||
* cvs Display whether OMPI was installed from a CVS checkout. In
|
||||
* pretty mode, this will be the string "cvs" if true, or
|
||||
* blank if false. In parsable mode, this will be 1 if true,
|
||||
* 0 if false.
|
||||
* EXAMPLES
|
||||
* ompi_info
|
||||
* With no parameters, ompi_info displays a default set of information
|
||||
* about the OMPI/MPI installation. This information includes:
|
||||
* - Version of OMPI/MPI
|
||||
* - Installation prefix directory
|
||||
* - Architecture that OMPI/MPI is installed for
|
||||
* - User who configured OMPI/MPI
|
||||
* - Time/datestamp when OMPI/MPI was configured
|
||||
* - Host that OMPI/MPI was configured on
|
||||
* - Whether MPI bindings are provided for C, C++, Fortran
|
||||
* - Whether MPI profiling is available for C, C++, Fortran
|
||||
* - Whether ROMIO support is included
|
||||
* - Whether IMPI support is included
|
||||
* - Whether debug support is included (mainly for OMPI/MPI maintainers)
|
||||
* - Whether OMPI/MPI is "purify clean" (suitable for memory-checking
|
||||
* debuggers)
|
||||
* - List all boot, coll, and pml MCA modules that are available, and
|
||||
* their corresponding versions
|
||||
* ompi_info -parsable
|
||||
* Display the same default set of information but in a machine-read-
|
||||
* able format.
|
||||
* ompi_info -all
|
||||
* Display all information that is available to ompi_info.
|
||||
* ompi_info -param all all
|
||||
* Show all MCA parameters (and their corresponding default values)
|
||||
* for all available MCA types and modules.
|
||||
* ompi_info -param pml all
|
||||
* Show all MCA parameters (and their corresponding default values)
|
||||
* for all pml MCA modules.
|
||||
* ompi_info -param pml tcp
|
||||
* Show all MCA parameters (and their corresponding default values)
|
||||
* for the tcp pml MCA module.
|
||||
* ompi_info -param pml tcp -parsable
|
||||
* Show all MCA parameters (and their corresponding default values)
|
||||
* for the tcp pml MCA module in a machine-readable format.
|
||||
* ompi_info -path bindir -path sysconfdir -parsable
|
||||
* Display the directories where the OMPI/MPI executables and help/con-
|
||||
* figuration files were installed in a machine-readable format.
|
||||
* ompi_info -version ompi full -parsable
|
||||
* Display the full version of OMPI/MPI in a machine-readable format.
|
||||
* ompi_info -version pml:tcp full
|
||||
* Show the full version of the TCP RPI MCA module.
|
||||
* SEE ALSO
|
||||
* mpirun(1), ompi_boot(1), ompi_wipe(1)
|
||||
*/
|
||||
|
||||
using namespace std;
|
||||
using namespace ompi_info;
|
||||
|
||||
@ -300,13 +117,17 @@ int main(int argc, char *argv[])
|
||||
|
||||
ompi_info::mca_types.push_back("base");
|
||||
|
||||
ompi_info::mca_types.push_back("pcm");
|
||||
ompi_info::mca_types.push_back("oob");
|
||||
ompi_info::mca_types.push_back("registry");
|
||||
|
||||
ompi_info::mca_types.push_back("allocator");
|
||||
ompi_info::mca_types.push_back("coll");
|
||||
ompi_info::mca_types.push_back("common");
|
||||
ompi_info::mca_types.push_back("gpr");
|
||||
ompi_info::mca_types.push_back("io");
|
||||
ompi_info::mca_types.push_back("mpool");
|
||||
ompi_info::mca_types.push_back("ns");
|
||||
ompi_info::mca_types.push_back("one");
|
||||
ompi_info::mca_types.push_back("oob");
|
||||
ompi_info::mca_types.push_back("op");
|
||||
ompi_info::mca_types.push_back("pcm");
|
||||
ompi_info::mca_types.push_back("pml");
|
||||
ompi_info::mca_types.push_back("ptl");
|
||||
ompi_info::mca_types.push_back("topo");
|
||||
@ -349,12 +170,21 @@ int main(int argc, char *argv[])
|
||||
ompi_info::do_arch(cmd_line);
|
||||
ompi_info::do_config(false);
|
||||
ompi_info::open_modules();
|
||||
ompi_info::show_module_version("oob", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("pcm", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("registry", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("base", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("allocator", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("coll", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("common", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("gpr", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("io", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("mpool", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("ns", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("one", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("oob", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("op", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("pcm", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("pml", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("ptl", module_all, ver_full, type_all);
|
||||
ompi_info::show_module_version("topo", module_all, ver_full, type_all);
|
||||
}
|
||||
|
||||
// All done
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user