This source file includes following definitions.
- oshmem_info_register_types
- oshmem_info_register_framework_params
- oshmem_info_close_components
- oshmem_info_show_oshmem_version
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include "oshmem_config.h"
15
16 #include "oshmem/include/oshmem/constants.h"
17 #include "oshmem/include/oshmem/frameworks.h"
18
19 #include "oshmem/runtime/params.h"
20 #include "oshmem/runtime/runtime.h"
21
22 #include "opal/runtime/opal_info_support.h"
23 #include "ompi/runtime/ompi_info_support.h"
24 #include "oshmem/runtime/oshmem_info_support.h"
25 #include "opal/util/show_help.h"
26 #include "opal/util/printf.h"
27 #include "opal/util/printf.h"
28 #include "ompi/include/ompi/constants.h"
29
30 const char *oshmem_info_type_oshmem = "oshmem";
31
32 static bool oshmem_info_registered = false;
33
34 void oshmem_info_register_types(opal_pointer_array_t *mca_types)
35 {
36 int i;
37
38
39 opal_pointer_array_add(mca_types, (void *)oshmem_info_type_oshmem);
40
41
42 for (i = 0; NULL != oshmem_frameworks[i]; i++) {
43 opal_pointer_array_add(mca_types, oshmem_frameworks[i]->framework_name);
44 }
45 }
46
47 int oshmem_info_register_framework_params(opal_pointer_array_t *component_map)
48 {
49 int rc;
50
51 if (oshmem_info_registered) {
52 return OSHMEM_SUCCESS;
53 }
54
55 oshmem_info_registered = true;
56
57
58 if (OSHMEM_SUCCESS != (rc = oshmem_shmem_register_params())) {
59 fprintf(stderr, "oshmem_info_register: oshmem_register_params failed\n");
60 return rc;
61 }
62
63
64 rc = opal_info_register_framework_params(component_map);
65 if (OMPI_SUCCESS != rc) {
66 return rc;
67 }
68
69 return opal_info_register_project_frameworks(oshmem_info_type_oshmem, oshmem_frameworks, component_map);
70 }
71
72 void oshmem_info_close_components(void)
73 {
74 int i;
75
76 for (i = 0; NULL != oshmem_frameworks[i]; i++) {
77 (void) mca_base_framework_close(oshmem_frameworks[i]);
78 }
79
80
81 opal_info_close_components();
82 }
83
84 void oshmem_info_show_oshmem_version(const char *scope)
85 {
86 char *tmp, *tmp2;
87
88 if (0 < opal_asprintf(&tmp, "%s:version:full", oshmem_info_type_oshmem)) {
89 tmp2 = opal_info_make_version_str(scope,
90 OSHMEM_MAJOR_VERSION, OSHMEM_MINOR_VERSION,
91 OSHMEM_RELEASE_VERSION,
92 OSHMEM_GREEK_VERSION,
93 OSHMEM_REPO_REV);
94 opal_info_out("Open SHMEM", tmp, tmp2);
95 free(tmp);
96 free(tmp2);
97 }
98 if(0 < opal_asprintf(&tmp, "%s:version:repo", oshmem_info_type_oshmem)) {
99 opal_info_out("Open SHMEM repo revision", tmp, OSHMEM_REPO_REV);
100 free(tmp);
101 }
102 if (0 < opal_asprintf(&tmp, "%s:version:release_date", oshmem_info_type_oshmem)) {
103 opal_info_out("Open SHMEM release date", tmp, OSHMEM_RELEASE_DATE);
104 free(tmp);
105 }
106
107
108 ompi_info_show_ompi_version(scope);
109 }