1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
2 /*
3 * Copyright (c) 2004-2005 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 (c) 2013 University of Houston. All rights reserved.
14 * Copyright (c) 2015 Los Alamos National Security, LLC. All rights
15 * reserved.
16 * $COPYRIGHT$
17 *
18 * Additional copyrights may follow
19 *
20 * $HEADER$
21 *
22 * These symbols are in a file by themselves to provide nice linker
23 * semantics. Since linkers generally pull in symbols by object
24 * files, keeping these symbols as the only symbols in this file
25 * prevents utility programs such as "ompi_info" from having to import
26 * entire components just to query their version and parameters.
27 */
28
29 #include "ompi_config.h"
30 #include "sharedfp_individual.h"
31 #include "mpi.h"
32
33 /*
34 * Public string showing the sharedfp individual component version number
35 */
36 const char *mca_sharedfp_individual_component_version_string =
37 "OMPI/MPI individual SHAREDFP MCA component version " OMPI_VERSION;
38
39 /*
40 * Global variables
41 */
42 int mca_sharedfp_individual_priority=10;
43 int mca_sharedfp_individual_verbose=0;
44
45 static int individual_register(void);
46
47 /*
48 * Instantiate the public struct with all of our public information
49 * and pointers to our public functions in it
50 */
51 mca_sharedfp_base_component_2_0_0_t mca_sharedfp_individual_component = {
52
53 /* First, the mca_component_t struct containing meta information
54 about the component itself */
55
56 .sharedfpm_version = {
57 MCA_SHAREDFP_BASE_VERSION_2_0_0,
58
59 /* Component name and version */
60 .mca_component_name = "individual",
61 MCA_BASE_MAKE_VERSION(component, OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION,
62 OMPI_RELEASE_VERSION),
63 .mca_register_component_params = individual_register,
64 },
65 .sharedfpm_data = {
66 /* This component is checkpointable */
67 MCA_BASE_METADATA_PARAM_CHECKPOINT
68 },
69 .sharedfpm_init_query = mca_sharedfp_individual_component_init_query, /* get thread level */
70 .sharedfpm_file_query = mca_sharedfp_individual_component_file_query, /* get priority and actions */
71 .sharedfpm_file_unquery = mca_sharedfp_individual_component_file_unquery, /* undo what was done by previous function */
72 };
73
74 static int individual_register(void)
75 {
76 mca_sharedfp_individual_priority = 10;
77 (void) mca_base_component_var_register(&mca_sharedfp_individual_component.sharedfpm_version,
78 "priority", "Priority of the individual sharedfp component",
79 MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
80 OPAL_INFO_LVL_9,
81 MCA_BASE_VAR_SCOPE_READONLY, &mca_sharedfp_individual_priority);
82 mca_sharedfp_individual_verbose = 0;
83 (void) mca_base_component_var_register(&mca_sharedfp_individual_component.sharedfpm_version,
84 "verbose", "Verbosity of the individual sharedfp component",
85 MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
86 OPAL_INFO_LVL_9,
87 MCA_BASE_VAR_SCOPE_READONLY, &mca_sharedfp_individual_verbose);
88
89 return OMPI_SUCCESS;
90 }