OpenMPI  0.1.1
odls.h
Go to the documentation of this file.
1 /* -*- C -*-
2  *
3  * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
4  * University Research and Technology
5  * Corporation. All rights reserved.
6  * Copyright (c) 2004-2005 The University of Tennessee and The University
7  * of Tennessee Research Foundation. All rights
8  * reserved.
9  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
10  * University of Stuttgart. All rights reserved.
11  * Copyright (c) 2004-2005 The Regents of the University of California.
12  * All rights reserved.
13  * $COPYRIGHT$
14  *
15  * Additional copyrights may follow
16  *
17  * $HEADER$
18  */
19 /**
20  * @file
21  *
22  * The OpenRTE Daemon's Local Launch Subsystem
23  *
24  */
25 
26 #ifndef ORTE_MCA_ODLS_H
27 #define ORTE_MCA_ODLS_H
28 
29 #include "orte_config.h"
30 #include "orte/types.h"
31 
32 #include "opal/mca/mca.h"
34 
35 #include "opal/dss/dss_types.h"
36 #include "orte/mca/rml/rml_types.h"
38 
39 BEGIN_C_DECLS
40 
41 /*
42  * odls module functions
43  */
44 
45 /*
46  * Construct a buffer for use in adding local processes
47  * In order to reuse daemons, we need a way for the HNP to construct a buffer that
48  * contains the data needed by the active ODLS component to launch a local process. Since the
49  * only one that knows what a particular ODLS component needs is that component, we require an
50  * entry point that the HNP can call to get the required buffer. This is constructed
51  * for *all* nodes - the individual orteds then parse that data to find the specific launch info
52  * for procs on their node
53  */
54 typedef int (*orte_odls_base_module_get_add_procs_data_fn_t)(opal_buffer_t *data,
55  orte_jobid_t job);
56 
57 /**
58  * Locally launch the provided processes
59  */
61 
62 /**
63  * Kill the local processes on this node
64  */
66 
67 /**
68  * Signal local processes
69  */
71  int32_t signal);
72 
73 /**
74  * Deliver a message to local processes
75  */
77  orte_rml_tag_t tag);
78 
79 /**
80  * Register to require sync before termination
81  */
83  opal_buffer_t *buffer,
84  bool drop_nidmap);
85 /**
86  * Restart a local process
87  */
89 
90 /**
91  * pls module version
92  */
94  orte_odls_base_module_get_add_procs_data_fn_t get_add_procs_data;
101 };
102 
103 /** shorten orte_odls_base_module_1_3_0_t declaration */
105 /** shorten orte_odls_base_module_t declaration */
107 
108 /**
109  * odls component
110  */
112  /** component version */
114  /** component data */
116 };
117 /** Convenience typedef */
119 /** Convenience typedef */
121 
122 
123 /**
124  * Macro for use in modules that are of type odls
125  */
126 #define ORTE_ODLS_BASE_VERSION_2_0_0 \
127  MCA_BASE_VERSION_2_0_0, \
128  "odls", 2, 0, 0
129 
130 /* Global structure for accessing ODLS functions
131 */
132 ORTE_DECLSPEC extern orte_odls_base_module_t orte_odls; /* holds selected module's function pointers */
133 
134 END_C_DECLS
135 
136 #endif /* MCA_ODLS_H */
odls component
Definition: odls.h:111
Common type for all MCA components.
Definition: mca.h:250
dynamic pointer array
Definition: opal_pointer_array.h:45
int(* orte_odls_base_module_require_sync_fn_t)(orte_process_name_t *proc, opal_buffer_t *buffer, bool drop_nidmap)
Register to require sync before termination.
Definition: odls.h:82
uint32_t orte_jobid_t
Set the allowed range for ids in each space.
Definition: types.h:76
Definition: types.h:146
See opal_bitmap.h for an explanation of why there is a split between OPAL and ORTE for this generic c...
mca_base_component_data_t base_data
component data
Definition: odls.h:115
Top-level interface for all MCA components.
Definition: odls_types.h:100
pls module version
Definition: odls.h:93
int(* orte_odls_base_module_restart_proc_fn_t)(orte_odls_child_t *child)
Restart a local process.
Definition: odls.h:88
mca_base_component_t version
component version
Definition: odls.h:113
int(* orte_odls_base_module_kill_local_processes_fn_t)(opal_pointer_array_t *procs)
Kill the local processes on this node.
Definition: odls.h:65
int(* orte_odls_base_module_signal_local_process_fn_t)(const orte_process_name_t *proc, int32_t signal)
Signal local processes.
Definition: odls.h:70
Buffer management types.
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
uint32_t orte_rml_tag_t
Message matching tag.
Definition: rml_types.h:220
orte_odls_base_component_2_0_0_t orte_odls_base_component_t
Convenience typedef.
Definition: odls.h:120
Structure for holding a buffer to be used with the RML or OOB subsystems.
Definition: dss_types.h:159
int(* orte_odls_base_module_deliver_message_fn_t)(orte_jobid_t job, opal_buffer_t *buffer, orte_rml_tag_t tag)
Deliver a message to local processes.
Definition: odls.h:76
int(* orte_odls_base_module_launch_local_processes_fn_t)(opal_buffer_t *data)
Locally launch the provided processes.
Definition: odls.h:60
Contains the typedefs for the use of the rml.