This source file includes following definitions.
- crcp_bkmrk_register
- crcp_bkmrk_open
- crcp_bkmrk_close
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include "ompi_config.h"
21
22 #include "opal/util/output.h"
23
24 #include "ompi/mca/crcp/crcp.h"
25 #include "ompi/mca/crcp/base/base.h"
26 #include "crcp_bkmrk.h"
27
28
29
30
31 const char *ompi_crcp_bkmrk_component_version_string =
32 "OMPI CRCP bkmrk MCA component version " OMPI_VERSION;
33
34 bool timing_enabled;
35
36
37
38
39 static int crcp_bkmrk_register(void);
40 static int crcp_bkmrk_open(void);
41 static int crcp_bkmrk_close(void);
42
43
44
45
46
47 ompi_crcp_bkmrk_component_t mca_crcp_bkmrk_component = {
48
49 {
50
51
52
53 .base_version = {
54 OMPI_CRCP_BASE_VERSION_2_0_0,
55
56 .mca_component_name = "bkmrk",
57 MCA_BASE_MAKE_VERSION(component, OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION,
58 OMPI_RELEASE_VERSION),
59
60
61 .mca_open_component = crcp_bkmrk_open,
62 .mca_close_component = crcp_bkmrk_close,
63 .mca_query_component = ompi_crcp_bkmrk_component_query,
64 .mca_register_component_params = crcp_bkmrk_register,
65 },
66 .base_data = {
67
68 MCA_BASE_METADATA_PARAM_CHECKPOINT
69 },
70
71 .verbose = 0,
72 .output_handle = -1,
73 .priority = 20,
74 }
75 };
76
77 static int crcp_bkmrk_register(void)
78 {
79
80
81
82
83 mca_crcp_bkmrk_component.super.priority = 20;
84 (void) mca_base_component_var_register(&mca_crcp_bkmrk_component.super.base_version,
85 "priority",
86 "Priority of the CRCP bkmrk component",
87 MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
88 OPAL_INFO_LVL_9,
89 MCA_BASE_VAR_SCOPE_READONLY,
90 &mca_crcp_bkmrk_component.super.priority);
91
92 mca_crcp_bkmrk_component.super.verbose = 0;
93 (void) mca_base_component_var_register(&mca_crcp_bkmrk_component.super.base_version,
94 "verbose",
95 "Verbose level for the CRCP bkmrk component",
96 MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
97 OPAL_INFO_LVL_9,
98 MCA_BASE_VAR_SCOPE_READONLY,
99 &mca_crcp_bkmrk_component.super.verbose);
100
101 timing_enabled = false;
102 (void) mca_base_component_var_register(&mca_crcp_bkmrk_component.super.base_version,
103 "timing", "Enable Performance timing",
104 MCA_BASE_VAR_TYPE_BOOL, NULL, 0, 0,
105 OPAL_INFO_LVL_9,
106 MCA_BASE_VAR_SCOPE_READONLY,
107 &timing_enabled);
108
109 return OMPI_SUCCESS;
110 }
111
112 static int crcp_bkmrk_open(void)
113 {
114
115
116
117 if ( 0 != mca_crcp_bkmrk_component.super.verbose) {
118 mca_crcp_bkmrk_component.super.output_handle = opal_output_open(NULL);
119 opal_output_set_verbosity(mca_crcp_bkmrk_component.super.output_handle,
120 mca_crcp_bkmrk_component.super.verbose);
121 } else {
122 mca_crcp_bkmrk_component.super.output_handle = ompi_crcp_base_framework.framework_output;
123 }
124
125
126
127
128 opal_output_verbose(10, mca_crcp_bkmrk_component.super.output_handle,
129 "crcp:bkmrk: open()");
130 opal_output_verbose(20, mca_crcp_bkmrk_component.super.output_handle,
131 "crcp:bkmrk: open: priority = %d",
132 mca_crcp_bkmrk_component.super.priority);
133 opal_output_verbose(20, mca_crcp_bkmrk_component.super.output_handle,
134 "crcp:bkmrk: open: verbosity = %d",
135 mca_crcp_bkmrk_component.super.verbose);
136
137 return OMPI_SUCCESS;
138 }
139
140 static int crcp_bkmrk_close(void)
141 {
142 opal_output_verbose(10, mca_crcp_bkmrk_component.super.output_handle,
143 "crcp:bkmrk: close()");
144
145 return OMPI_SUCCESS;
146 }