OpenMPI  0.1.1
nidmap.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
3  * University Research and Technology
4  * Corporation. All rights reserved.
5  * Copyright (c) 2004-2011 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$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 
19 /** @file:
20  *
21  * Populates global structure with system-specific information.
22  *
23  * Notes: add limits.h, compute size of integer and other types via sizeof(type)*CHAR_BIT
24  *
25  */
26 
27 #ifndef _ORTE_NIDMAP_H_
28 #define _ORTE_NIDMAP_H_
29 
30 #include "orte_config.h"
31 #include "orte/types.h"
32 
33 #include "opal/dss/dss_types.h"
34 
36 
37 BEGIN_C_DECLS
38 
39 #define ORTE_MAX_NODE_PREFIX 50
40 #define ORTE_CONTIG_NODE_CMD 0x01
41 #define ORTE_NON_CONTIG_NODE_CMD 0x02
42 
43 ORTE_DECLSPEC int orte_util_nidmap_init(opal_buffer_t *buffer);
44 ORTE_DECLSPEC void orte_util_nidmap_finalize(void);
45 ORTE_DECLSPEC int orte_util_setup_local_nidmap_entries(void);
46 
47 ORTE_DECLSPEC orte_jmap_t* orte_util_lookup_jmap(orte_jobid_t job);
48 ORTE_DECLSPEC orte_pmap_t* orte_util_lookup_pmap(orte_process_name_t *proc);
49 ORTE_DECLSPEC orte_nid_t* orte_util_lookup_nid(orte_process_name_t *proc);
50 
51 #if ORTE_ENABLE_EPOCH
52 ORTE_DECLSPEC orte_epoch_t orte_util_lookup_epoch(orte_process_name_t *proc);
53 ORTE_DECLSPEC orte_epoch_t orte_util_set_epoch(orte_process_name_t *proc, orte_epoch_t epoch);
54 #endif
55 
56 ORTE_DECLSPEC int orte_util_set_proc_state(orte_process_name_t *proc, orte_proc_state_t state);
57 
58 #if ORTE_RESIL_ORTE
59 #define PROC_IS_RUNNING(n) orte_util_proc_is_running(n)
60 ORTE_DECLSPEC bool orte_util_proc_is_running(orte_process_name_t *proc);
61 #else
62 #define PROC_IS_RUNNING(n) ( true )
63 #endif
64 
65 ORTE_DECLSPEC int orte_util_encode_nodemap(opal_byte_object_t *boptr);
66 ORTE_DECLSPEC int orte_util_decode_nodemap(opal_byte_object_t *boptr);
67 
68 ORTE_DECLSPEC int orte_util_encode_pidmap(opal_byte_object_t *boptr);
69 ORTE_DECLSPEC int orte_util_decode_pidmap(opal_byte_object_t *boptr);
70 
71 ORTE_DECLSPEC int orte_util_build_daemon_nidmap(char **nodes);
72 
73 ORTE_DECLSPEC void orte_nidmap_dump(void);
74 ORTE_DECLSPEC void orte_jmap_dump(orte_jmap_t *jmap);
75 ORTE_DECLSPEC void orte_jobmap_dump(void);
76 
77 END_C_DECLS
78 
79 /* Local functions */
80 #if ORTE_ENABLE_EPOCH
81 orte_epoch_t get_epoch_from_orte_job_data(orte_process_name_t *proc, orte_epoch_t epoch);
82 #endif
83 
84 #endif
uint32_t orte_jobid_t
Set the allowed range for ids in each space.
Definition: types.h:76
Definition: types.h:146
Definition: orte_globals.h:490
Definition: orte_globals.h:462
Buffer management types.
Global params for OpenRTE.
Structure for holding a buffer to be used with the RML or OOB subsystems.
Definition: dss_types.h:159
Definition: dss_types.h:47
Definition: orte_globals.h:476