2008-05-28 17:29:58 +04:00
/*
* Copyright ( c ) 2004 - 2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation . All rights reserved .
* Copyright ( c ) 2004 - 2008 The University of Tennessee and The University
* of Tennessee Research Foundation . All rights
* reserved .
* Copyright ( c ) 2004 - 2005 High Performance Computing Center Stuttgart ,
* University of Stuttgart . All rights reserved .
* Copyright ( c ) 2004 - 2005 The Regents of the University of California .
* All rights reserved .
* Copyright ( c ) 2007 Cisco , Inc . All rights reserved .
* $ COPYRIGHT $
*
* Additional copyrights may follow
*
* $ HEADER $
*/
# include "orte_config.h"
# include "orte/constants.h"
# include "orte/types.h"
# ifdef HAVE_SYS_TIME_H
# include <sys/time.h>
# endif
# include "opal/mca/base/mca_base_param.h"
# include "orte/util/proc_info.h"
# include "orte/util/output.h"
# include "orte/runtime/runtime.h"
# include "orte/runtime/orte_globals.h"
int orte_register_params ( void )
{
int value ;
if ( orte_params_set ) {
return ORTE_SUCCESS ;
}
mca_base_param_reg_int_name ( " orte " , " debug " ,
" Top-level ORTE debug switch (default verbosity: 1) " ,
false , false , ( int ) false , & value ) ;
orte_debug_flag = OPAL_INT_TO_BOOL ( value ) ;
mca_base_param_reg_int_name ( " orte " , " debug_verbose " ,
" Verbosity level for ORTE debug messages (default: 1) " ,
false , false , - 1 , & orte_debug_verbosity ) ;
mca_base_param_reg_int_name ( " orte " , " debug_daemons " ,
" Whether to debug the ORTE daemons or not " ,
false , false , ( int ) false , & value ) ;
orte_debug_daemons_flag = OPAL_INT_TO_BOOL ( value ) ;
mca_base_param_reg_int_name ( " orte " , " debug_daemons_file " ,
" Whether want stdout/stderr of daemons to go to a file or not " ,
false , false , ( int ) false , & value ) ;
orte_debug_daemons_file_flag = OPAL_INT_TO_BOOL ( value ) ;
/* If --debug-daemons-file was specified, that also implies
- - debug - daemons */
if ( orte_debug_daemons_file_flag ) {
orte_debug_daemons_flag = true ;
}
mca_base_param_reg_int_name ( " orte " , " do_not_launch " ,
" Perform all necessary operations to prepare to launch the application, but do not actually launch it " ,
false , false , ( int ) false , & value ) ;
orte_do_not_launch = OPAL_INT_TO_BOOL ( value ) ;
mca_base_param_reg_int_name ( " orte " , " daemon_spin " ,
" Have any orteds spin until we can connect a debugger to them " ,
false , false , ( int ) false , & value ) ;
orted_spin_flag = OPAL_INT_TO_BOOL ( value ) ;
2008-05-29 17:38:27 +04:00
mca_base_param_reg_int_name ( " orte " , " daemon_fail " ,
" Have the specified orted fail after init for debugging purposes " ,
2008-06-03 01:46:34 +04:00
false , false , ORTE_VPID_INVALID , & orted_debug_failure ) ;
2008-05-29 17:38:27 +04:00
2008-06-03 01:46:34 +04:00
mca_base_param_reg_int_name ( " orte " , " daemon_fail_delay " ,
" Have the specified orted fail after specified number of seconds (default: 0 => no delay) " ,
false , false , 0 , & orted_debug_failure_delay ) ;
mca_base_param_reg_int_name ( " orte " , " heartbeat_rate " ,
" Seconds between checks for daemon state-of-health (default: 0 => do not check) " ,
false , false , 0 , & orte_heartbeat_rate ) ;
mca_base_param_reg_int_name ( " orte " , " startup_timeout " ,
" Milliseconds/daemon to wait for startup before declaring failed_to_start (default: 0 => do not check) " ,
false , false , 0 , & orte_startup_timeout ) ;
2008-05-28 17:29:58 +04:00
/* check for timing requests */
mca_base_param_reg_int_name ( " orte " , " timing " ,
" Request that critical timing loops be measured " ,
false , false , ( int ) false , & value ) ;
orte_timing = OPAL_INT_TO_BOOL ( value ) ;
/* User-level debugger info string */
mca_base_param_reg_string_name ( " orte " , " base_user_debugger " ,
" Sequence of user-level debuggers to search for in orterun " ,
false , false , " totalview @mpirun@ -a @mpirun_args@ : ddt -n @np@ -start @executable@ @executable_argv@ @single_app@ : fxp @mpirun@ -a @mpirun_args@ " , NULL ) ;
mca_base_param_reg_int_name ( " orte " , " abort_timeout " ,
" Max time to wait [in secs] before aborting an ORTE operation (default: 1sec) " ,
false , false , 1 , & value ) ;
orte_max_timeout = 1000000.0 * value ; /* convert to usec */
mca_base_param_reg_int_name ( " orte " , " timeout_step " ,
2008-06-03 01:46:34 +04:00
" Time to wait [in usecs/proc] before aborting an ORTE operation (default: 1000 usec/proc) " ,
false , false , 1000 , & orte_timeout_usec_per_proc ) ;
2008-05-28 17:29:58 +04:00
/* default hostfile */
mca_base_param_reg_string_name ( " orte " , " default_hostfile " ,
" Name of the default hostfile (relative or absolute path) " ,
false , false , NULL , & orte_default_hostfile ) ;
/* whether or not to keep FQDN hostnames */
mca_base_param_reg_int_name ( " orte " , " keep_fqdn_hostnames " ,
" Whether or not to keep FQDN hostnames [default: no] " ,
false , false , ( int ) false , & value ) ;
orte_keep_fqdn_hostnames = OPAL_INT_TO_BOOL ( value ) ;
/* whether or not contiguous nodenames are in use */
mca_base_param_reg_int_name ( " orte " , " contiguous_nodes " ,
" Number of nodes after which contiguous nodename encoding will automatically be used [default: INT_MAX] " ,
false , false , INT32_MAX , & orte_contiguous_nodes ) ;
mca_base_param_reg_int_name ( " orte " , " base_help_aggregate " ,
" If orte_base_help_aggregate is true, duplicate help messages will be aggregated rather than displayed individually. This can be helpful for parallel jobs that experience multiple identical failures; rather than print out the same help/failure message N times, display it once with a count of how many processes sent the same message. " ,
false , false ,
( int ) orte_help_want_aggregate , & value ) ;
orte_help_want_aggregate = OPAL_INT_TO_BOOL ( value ) ;
mca_base_param_reg_int_name ( " orte " , " base_show_output_recursions " ,
" If orte_base_show_output_recursion is true, recursive calls to orte_output will be reported to stderr " ,
false , false ,
( int ) false , & value ) ;
orte_help_show_recursions = OPAL_INT_TO_BOOL ( value ) ;
/* some params that are accessed elsewhere, but simply registered here so they will
* be visible to ompi_info
*/
mca_base_param_reg_string_name ( " orte " , " tmpdir_base " ,
" Base of the session directory tree " ,
false , false , NULL , & ( orte_process_info . tmpdir_base ) ) ;
/* All done */
orte_params_set = true ;
return ORTE_SUCCESS ;
}