OpenMPI  0.1.1
base.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3  * University Research and Technology
4  * Corporation. All rights reserved.
5  * Copyright (c) 2004-2006 The University of Tennessee and The University
6  * of Tennessee Research Foundation. All rights
7  * reserved.
8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9  * University of Stuttgart. All rights reserved.
10  * Copyright (c) 2004-2005 The Regents of the University of California.
11  * All rights reserved.
12  * Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
13  * Copyright (c) 2012 Oak Ridge National Labs. All rights reserved.
14  * $COPYRIGHT$
15  *
16  * Additional copyrights may follow
17  *
18  * $HEADER$
19  */
20 /** @file:
21  */
22 
23 #ifndef MCA_ESS_BASE_H
24 #define MCA_ESS_BASE_H
25 
26 #include "orte_config.h"
27 #include "orte/types.h"
28 
29 #include "opal/mca/mca.h"
30 #include "opal/dss/dss_types.h"
31 
32 #include "orte/mca/ess/ess.h"
33 
34 BEGIN_C_DECLS
35 
36 /*
37  * Global functions for MCA overall collective open and close
38  */
39 
40 /**
41  * Open the ess framework
42  */
43 ORTE_DECLSPEC int orte_ess_base_open(void);
44 
45 /**
46  * Select a ess module
47  */
48 ORTE_DECLSPEC int orte_ess_base_select(void);
49 
50 /**
51  * Close the ess framework
52  */
53 ORTE_DECLSPEC int orte_ess_base_close(void);
54 
55 /*
56  * The verbose channel for debug output
57  */
58 ORTE_DECLSPEC extern int orte_ess_base_output;
59 
60 /*
61  * stdout/stderr buffering control parameter
62  */
63 ORTE_DECLSPEC extern int orte_ess_base_std_buffering;
64 
65 ORTE_DECLSPEC extern opal_list_t orte_ess_base_components_available;
66 
67 #if ORTE_ENABLE_EPOCH
68 ORTE_DECLSPEC orte_epoch_t orte_ess_base_proc_get_epoch(orte_process_name_t *proc);
69 #else
70 ORTE_DECLSPEC int orte_ess_base_proc_get_epoch(orte_process_name_t *proc);
71 #endif
72 
73 #if !ORTE_DISABLE_FULL_SUPPORT
74 
75 /*
76  * Internal helper functions used by components
77  */
78 ORTE_DECLSPEC int orte_ess_env_get(void);
79 
80 ORTE_DECLSPEC int orte_ess_base_std_prolog(void);
81 
82 ORTE_DECLSPEC int orte_ess_base_app_setup(void);
83 ORTE_DECLSPEC int orte_ess_base_app_finalize(void);
84 ORTE_DECLSPEC void orte_ess_base_app_abort(int status, bool report) __opal_attribute_noreturn__;
85 
86 ORTE_DECLSPEC int orte_ess_base_tool_setup(void);
87 ORTE_DECLSPEC int orte_ess_base_tool_finalize(void);
88 
89 ORTE_DECLSPEC int orte_ess_base_orted_setup(char **hosts);
90 ORTE_DECLSPEC int orte_ess_base_orted_finalize(void);
91 
92 ORTE_DECLSPEC int orte_ess_base_query_sys_info(char *node, char **keys, opal_list_t *values);
93 
94 ORTE_DECLSPEC opal_paffinity_locality_t orte_ess_base_proc_get_locality(orte_process_name_t *proc);
95 ORTE_DECLSPEC orte_vpid_t orte_ess_base_proc_get_daemon(orte_process_name_t *proc);
96 ORTE_DECLSPEC char* orte_ess_base_proc_get_hostname(orte_process_name_t *proc);
97 ORTE_DECLSPEC orte_local_rank_t orte_ess_base_proc_get_local_rank(orte_process_name_t *proc);
98 ORTE_DECLSPEC orte_node_rank_t orte_ess_base_proc_get_node_rank(orte_process_name_t *proc);
99 ORTE_DECLSPEC int orte_ess_base_update_pidmap(opal_byte_object_t *bo);
100 ORTE_DECLSPEC int orte_ess_base_update_nidmap(opal_byte_object_t *bo);
101 
102 /*
103  * Put functions
104  */
105 ORTE_DECLSPEC int orte_ess_env_put(orte_std_cntr_t num_procs,
106  orte_std_cntr_t num_local_procs,
107  char ***env);
108 
109 #endif /* ORTE_DISABLE_FULL_SUPPORT */
110 
111 END_C_DECLS
112 
113 #endif
ORTE_DECLSPEC int orte_ess_base_close(void)
Close the ess framework.
Definition: ess_base_close.c:35
ORTE_DECLSPEC int orte_ess_base_proc_get_epoch(orte_process_name_t *proc)
Generic function to retrieve the epoch of a specific process from the job data.
Definition: ess_base_select.c:41
The OpenRTE Environment-Specific Services.
Definition: types.h:146
int32_t orte_std_cntr_t
Supported datatypes for messaging and storage operations.
Definition: types.h:34
ORTE_DECLSPEC int orte_ess_base_select(void)
Select a ess module.
Definition: ess_base_select.c:55
Top-level interface for all MCA components.
ORTE_DECLSPEC int orte_ess_base_orted_setup(char **hosts)
Definition: ess_base_std_orted.c:87
Buffer management types.
Definition: opal_list.h:147
BEGIN_C_DECLS ORTE_DECLSPEC int orte_ess_base_open(void)
Open the ess framework.
Definition: ess_base_open.c:58
Definition: dss_types.h:47
uint16_t orte_local_rank_t
rank on node, used for both local and node rank.
Definition: types.h:46