OpenMPI  0.1.1
ras_private.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-2008 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) 2008 UT-Battelle, LLC. All rights reserved.
13  * $COPYRIGHT$
14  *
15  * Additional copyrights may follow
16  *
17  * $HEADER$
18  */
19 /** @file:
20  */
21 
22 #ifndef ORTE_RAS_PRIVATE_H
23 #define ORTE_RAS_PRIVATE_H
24 
25 /*
26  * includes
27  */
28 #include "orte_config.h"
29 #include "orte/constants.h"
30 #include "orte/types.h"
31 
32 #include "opal/class/opal_list.h"
33 
34 #include "orte/mca/ras/ras_types.h"
35 
36 #include "orte/mca/ras/ras.h"
37 #include "orte/mca/ras/base/base.h"
38 
39 
40 BEGIN_C_DECLS
41 
42 /*
43  * API function definitions
44  */
45 ORTE_DECLSPEC int orte_ras_base_allocate(orte_job_t *jdata);
46 
47 /**
48 * Add the specified node definitions to the registry
49  */
51 
52 #if 0
53 /*
54  * Internal support functions
55  */
56 ORTE_DECLSPEC int orte_ras_base_allocate_nodes(orte_jobid_t jobid,
57  opal_list_t* nodes);
58 
59 ORTE_DECLSPEC int orte_ras_base_reallocate(orte_jobid_t parent_jobid,
60  orte_jobid_t child_jobid);
61 
62 ORTE_DECLSPEC int orte_ras_base_set_oversubscribe_override(orte_jobid_t job);
63 
64 ORTE_DECLSPEC int orte_ras_base_hostfile_query(char *hostfile);
65 
66 ORTE_DECLSPEC int orte_ras_base_get_oversubscribe_override(orte_jobid_t job, bool *flag);
67 
68 ORTE_DECLSPEC int orte_ras_base_read_nodename_file(opal_list_t *nodes, char *filename);
69 
70 /*
71  * Query the registry for all available nodes
72  */
73 ORTE_DECLSPEC int orte_ras_base_node_query(opal_list_t*);
74 
75 /*
76  * Query the registry for a specific node
77  */
78 ORTE_DECLSPEC orte_ras_node_t* orte_ras_base_node_lookup(const char* nodename);
79 
80 /**
81  * Query the registry for all nodes allocated to a specific job
82  */
83 ORTE_DECLSPEC int orte_ras_base_node_query_alloc(opal_list_t*, orte_jobid_t);
84 
85 ORTE_DECLSPEC int orte_ras_base_proc_query_alloc(opal_list_t* procs);
86 
87 /**
88  * Add the specified node definitions to the registry
89  */
90 ORTE_DECLSPEC int orte_ras_base_node_insert(opal_list_t*);
91 
92 ORTE_DECLSPEC int orte_ras_base_proc_insert(opal_list_t* procs, orte_jobid_t jobid);
93 
94 /**
95  * Delete the specified nodes from the registry
96  */
97 ORTE_DECLSPEC int orte_ras_base_node_delete(opal_list_t*);
98 
99 /**
100  * Assign the allocated slots on the specified nodes to the
101  * indicated jobid.
102  */
103 ORTE_DECLSPEC int orte_ras_base_node_assign(opal_list_t*, orte_jobid_t);
104 
105 /**
106  * Check to see if the node segment is empty
107  */
108 ORTE_DECLSPEC int orte_ras_base_node_segment_empty(bool *empty);
109 
110 #endif
111 
112 END_C_DECLS
113 
114 #endif
uint32_t orte_jobid_t
Set the allowed range for ids in each space.
Definition: types.h:76
ORTE_DECLSPEC int orte_ras_base_node_insert(opal_list_t *, orte_job_t *)
Add the specified node definitions to the registry.
Definition: ras_base_node.c:62
The opal_list_t interface is used to provide a generic doubly-linked list container for Open MPI...
The Open RTE Resource Allocation Subsystem (RAS)
Definition: orte_globals.h:316
Definition: opal_list.h:147