OpenMPI  0.1.1
orte_globals.h File Reference

Global params for OpenRTE. More...

#include "orte_config.h"
#include "orte/types.h"
#include <sys/types.h>
#include "opal/class/opal_pointer_array.h"
#include "opal/class/opal_value_array.h"
#include "opal/class/opal_ring_buffer.h"
#include "opal/threads/threads.h"
#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/paffinity/paffinity.h"
#include "orte/mca/plm/plm_types.h"
#include "orte/mca/rml/rml_types.h"
#include "orte/util/proc_info.h"
#include "orte/util/name_fns.h"
#include "orte/runtime/runtime.h"
#include "orte/runtime/orte_wait.h"

Go to the source code of this file.

Data Structures

struct  orte_app_context_t
 Information about a specific application to be launched in the RTE. More...
 
struct  orte_node_t
 
struct  orte_job_t
 
struct  orte_proc_t
 
struct  orte_nid_t
 
struct  orte_pmap_t
 
struct  orte_jmap_t
 

Macros

#define ORTE_NAME_WILDCARD   (&orte_name_wildcard)
 
#define ORTE_NAME_INVALID   (&orte_name_invalid)
 instantiated in orte/runtime/orte_init.c
 
#define ORTE_PROC_MY_NAME   (&orte_process_info.my_name)
 instantiated in orte/runtime/orte_init.c
 
#define ORTE_PROC_MY_PARENT   (&orte_process_info.my_parent)
 
#define ORTE_PROC_MY_HNP   (&orte_process_info.my_hnp)
 
#define ORTE_PROC_MY_DAEMON   (&orte_process_info.my_daemon)
 
#define ORTE_GLOBAL_ARRAY_BLOCK_SIZE   64
 
#define ORTE_GLOBAL_ARRAY_MAX_SIZE   INT_MAX
 
#define ORTE_ERROR_DEFAULT_EXIT_CODE   1
 
#define ORTE_UPDATE_EXIT_STATUS(newstatus)
 Define a macro for updating the orte_exit_status The macro provides a convenient way of doing this so that we can add thread locking at some point since the orte_exit_status is a global variable. More...
 
#define ORTE_RESET_EXIT_STATUS()
 
#define ORTE_COMPUTE_TIME_DIFF(r, ur, s1, us1, s2, us2)
 
#define ORTE_JOB_CONTROL   OPAL_UINT16
 
#define ORTE_JOB_CONTROL_NON_ORTE_JOB   0x0002
 
#define ORTE_JOB_CONTROL_DEBUGGER_DAEMON   0x0014
 
#define ORTE_JOB_CONTROL_FORWARD_OUTPUT   0x0008
 
#define ORTE_JOB_CONTROL_DO_NOT_MONITOR   0x0010
 
#define ORTE_JOB_CONTROL_FORWARD_COMM   0x0020
 
#define ORTE_JOB_CONTROL_CONTINUOUS_OP   0x0040
 
#define ORTE_JOB_CONTROL_RECOVERABLE   0x0080
 
#define ORTE_JOB_CONTROL_SPIN_FOR_DEBUG   0x0100
 

Typedefs

typedef void(* orte_err_cb_fn_t )(orte_process_name_t *proc, orte_proc_state_t state, void *cbdata)
 
typedef uint16_t orte_job_controls_t
 
typedef struct orte_proc_t orte_proc_t
 
typedef void(* orte_default_cbfunc_t )(int fd, short event, void *data)
 
typedef int(* orte_default_comm_fn_t )(orte_process_name_t *recipient, opal_buffer_t *buf, orte_rml_tag_t tag, orte_default_cbfunc_t cbfunc)
 

Functions

ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_app_context_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_node_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_job_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_proc_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_nid_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_pmap_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_jmap_t)
 
ORTE_DECLSPEC orte_job_torte_get_job_data_object (orte_jobid_t job)
 Get a job data object We cannot just reference a job data object with its jobid as the jobid is no longer an index into the array. More...
 
ORTE_DECLSPEC orte_vpid_t orte_get_lowest_vpid_alive (orte_jobid_t job)
 
ORTE_DECLSPEC int orte_global_comm (orte_process_name_t *recipient, opal_buffer_t *buf, orte_rml_tag_t tag, orte_default_cbfunc_t cbfunc)
 

Variables

BEGIN_C_DECLS ORTE_DECLSPEC int orte_debug_verbosity
 
ORTE_DECLSPEC char * orte_prohibited_session_dirs
 
ORTE_DECLSPEC bool orte_xml_output
 
ORTE_DECLSPEC FILE * orte_xml_fp
 
ORTE_DECLSPEC bool orte_help_want_aggregate
 
ORTE_DECLSPEC char * orte_job_ident
 
ORTE_DECLSPEC bool orte_create_session_dirs
 
ORTE_DECLSPEC bool orte_execute_quiet
 
ORTE_DECLSPEC bool orte_report_silent_errors
 
ORTE_DECLSPEC orte_process_name_t orte_name_wildcard
 
ORTE_DECLSPEC orte_process_name_t orte_name_invalid
 
ORTE_DECLSPEC bool orte_in_parallel_debugger
 
ORTE_DECLSPEC int orte_exit_status
 
ORTE_DECLSPEC bool orte_timing
 
ORTE_DECLSPEC FILE * orte_timing_output
 
ORTE_DECLSPEC bool orte_timing_details
 
ORTE_DECLSPEC bool orte_debug_daemons_flag
 
ORTE_DECLSPEC bool orte_debug_daemons_file_flag
 
ORTE_DECLSPEC bool orte_leave_session_attached
 
ORTE_DECLSPEC bool orte_do_not_launch
 
ORTE_DECLSPEC bool orted_spin_flag
 
ORTE_DECLSPEC char * orte_local_cpu_type
 
ORTE_DECLSPEC char * orte_local_cpu_model
 
ORTE_DECLSPEC char * orte_basename
 
ORTE_DECLSPEC bool orte_static_ports
 
ORTE_DECLSPEC char * orte_oob_static_ports
 
ORTE_DECLSPEC bool orte_standalone_operation
 
ORTE_DECLSPEC bool orte_keep_fqdn_hostnames
 
ORTE_DECLSPEC bool orte_have_fqdn_allocation
 
ORTE_DECLSPEC bool orte_show_resolved_nodenames
 
ORTE_DECLSPEC int orted_debug_failure
 
ORTE_DECLSPEC int orted_debug_failure_delay
 
ORTE_DECLSPEC bool orte_homogeneous_nodes
 
ORTE_DECLSPEC bool orte_hetero_apps
 
ORTE_DECLSPEC bool orte_hetero_nodes
 
ORTE_DECLSPEC bool orte_never_launched
 
ORTE_DECLSPEC bool orte_devel_level_output
 
ORTE_DECLSPEC bool orte_display_topo_with_map
 
ORTE_DECLSPEC bool orte_display_diffable_output
 
ORTE_DECLSPEC char ** orte_launch_environ
 
ORTE_DECLSPEC bool orte_hnp_is_allocated
 
ORTE_DECLSPEC bool orte_allocation_required
 
ORTE_DECLSPEC char * orte_launch_agent
 
ORTE_DECLSPEC char ** orted_cmd_line
 
ORTE_DECLSPEC char ** orte_fork_agent
 
ORTE_DECLSPEC orte_job_torte_debugger_daemon
 
ORTE_DECLSPEC bool orte_debugger_dump_proctable
 
ORTE_DECLSPEC char * orte_debugger_test_daemon
 
ORTE_DECLSPEC bool orte_debugger_test_attach
 
ORTE_DECLSPEC int orte_debugger_check_rate
 
ORTE_DECLSPEC bool orte_abnormal_term_ordered
 
ORTE_DECLSPEC bool orte_routing_is_enabled
 
ORTE_DECLSPEC bool orte_job_term_ordered
 
ORTE_DECLSPEC bool orte_orteds_term_ordered
 
ORTE_DECLSPEC int orte_startup_timeout
 
ORTE_DECLSPEC int orte_timeout_usec_per_proc
 
ORTE_DECLSPEC float orte_max_timeout
 
ORTE_DECLSPEC opal_buffer_torte_tree_launch_cmd
 
ORTE_DECLSPEC
opal_pointer_array_t
orte_job_data
 
ORTE_DECLSPEC
opal_pointer_array_t
orte_node_pool
 
ORTE_DECLSPEC
opal_pointer_array_t
orte_node_topologies
 
ORTE_DECLSPEC int orte_clean_output
 
ORTE_DECLSPEC opal_pointer_array_t orte_nidmap
 
ORTE_DECLSPEC opal_pointer_array_t orte_jobmap
 
ORTE_DECLSPEC char * orted_launch_cmd
 
ORTE_DECLSPEC opal_list_t orte_local_children
 
ORTE_DECLSPEC opal_mutex_t orte_local_children_lock
 
ORTE_DECLSPEC opal_condition_t orte_local_children_cond
 
ORTE_DECLSPEC opal_list_t orte_local_jobdata
 
ORTE_DECLSPEC opal_mutex_t orte_local_jobdata_lock
 
ORTE_DECLSPEC opal_condition_t orte_local_jobdata_cond
 
ORTE_DECLSPEC bool orte_forward_job_control
 
ORTE_DECLSPEC bool orte_tag_output
 
ORTE_DECLSPEC bool orte_timestamp_output
 
ORTE_DECLSPEC char * orte_output_filename
 
ORTE_DECLSPEC char * orte_xterm
 
ORTE_DECLSPEC bool orte_report_launch_progress
 
ORTE_DECLSPEC char * orte_default_hostfile
 
ORTE_DECLSPEC bool orte_default_hostfile_given
 
ORTE_DECLSPEC char * orte_rankfile
 
ORTE_DECLSPEC int orte_num_allocated_nodes
 
ORTE_DECLSPEC char * orte_node_regex
 
ORTE_DECLSPEC bool orte_report_events
 
ORTE_DECLSPEC char * orte_report_events_uri
 
ORTE_DECLSPEC bool orte_do_not_barrier
 
ORTE_DECLSPEC bool orte_enable_recovery
 
ORTE_DECLSPEC int32_t orte_max_restarts
 
ORTE_DECLSPEC
orte_default_comm_fn_t 
orte_comm
 
ORTE_DECLSPEC bool orte_report_child_jobs_separately
 
ORTE_DECLSPEC struct timeval orte_child_time_to_exit
 
ORTE_DECLSPEC bool orte_abort_non_zero_exit
 
ORTE_DECLSPEC int orte_stat_history_size
 
ORTE_DECLSPEC char * orte_forward_envars
 
ORTE_DECLSPEC bool orte_preload_binaries
 

Detailed Description

Global params for OpenRTE.

Macro Definition Documentation

#define ORTE_COMPUTE_TIME_DIFF (   r,
  ur,
  s1,
  us1,
  s2,
  us2 
)
Value:
do { \
(r) = (s2) - (s1); \
if ((us2) >= (us1)) { \
(ur) = (us2) - (us1); \
} else { \
(r)--; \
(ur) = 1000000 - (us1) + (us2); \
} \
} while(0);
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: vt_comp_pgi.c:24
#define ORTE_RESET_EXIT_STATUS ( )
Value:
do { \
OPAL_OUTPUT_VERBOSE((1, orte_debug_output, \
"%s:%s(%d) reseting exit status", \
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \
__FILE__, __LINE__)); \
orte_exit_status = 0; \
} while(0);
#define ORTE_PROC_MY_NAME
instantiated in orte/runtime/orte_init.c
Definition: orte_globals.h:72
#define OPAL_OUTPUT_VERBOSE(a)
Macro for use in sending debugging output to the output streams.
Definition: output.h:543
#define ORTE_UPDATE_EXIT_STATUS (   newstatus)
Value:
do { \
if (0 == orte_exit_status && 0 != newstatus) { \
OPAL_OUTPUT_VERBOSE((1, orte_debug_output, \
"%s:%s(%d) updating exit status to %d", \
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \
__FILE__, __LINE__, newstatus)); \
orte_exit_status = newstatus; \
} \
} while(0);
#define ORTE_PROC_MY_NAME
instantiated in orte/runtime/orte_init.c
Definition: orte_globals.h:72
#define OPAL_OUTPUT_VERBOSE(a)
Macro for use in sending debugging output to the output streams.
Definition: output.h:543

Define a macro for updating the orte_exit_status The macro provides a convenient way of doing this so that we can add thread locking at some point since the orte_exit_status is a global variable.

Ensure that we do not overwrite the exit status if it has already been set to some non-zero value. If we don't make this check, then different parts of the code could overwrite each other's exit status in the case of abnormal termination.

For example, if a process aborts, we would record the initial exit code from the aborted process. However, subsequent processes will have been aborted by signal as we kill the job. We don't want the subsequent processes to overwrite the original exit code so we can tell the user the exit code from the process that caused the whole thing to happen.

Function Documentation

ORTE_DECLSPEC orte_job_t* orte_get_job_data_object ( orte_jobid_t  job)

Get a job data object We cannot just reference a job data object with its jobid as the jobid is no longer an index into the array.

This change was necessitated by modification of the jobid to include an mpirun-unique qualifer to eliminate any global name service

References opal_pointer_array_get_item().

Referenced by orte_plm_base_orted_append_basic_args(), orte_plm_base_orted_exit(), and orte_rml_base_get_contact_info().