This source file includes following definitions.
- cuda_register
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include "ompi_config.h"
17
18 #include <string.h>
19
20 #include "mpi.h"
21 #include "ompi/constants.h"
22 #include "coll_cuda.h"
23
24
25
26
27 const char *mca_coll_cuda_component_version_string =
28 "Open MPI cuda collective MCA component version " OMPI_VERSION;
29
30
31
32
33 static int cuda_register(void);
34
35
36
37
38
39
40 mca_coll_cuda_component_t mca_coll_cuda_component = {
41 {
42
43
44
45 .collm_version = {
46 MCA_COLL_BASE_VERSION_2_0_0,
47
48
49 .mca_component_name = "cuda",
50 MCA_BASE_MAKE_VERSION(component, OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION,
51 OMPI_RELEASE_VERSION),
52
53
54 .mca_register_component_params = cuda_register,
55 },
56 .collm_data = {
57
58 MCA_BASE_METADATA_PARAM_CHECKPOINT
59 },
60
61
62
63 .collm_init_query = mca_coll_cuda_init_query,
64 .collm_comm_query = mca_coll_cuda_comm_query,
65 },
66
67
68
69
70 78,
71 };
72
73
74 static int cuda_register(void)
75 {
76 (void) mca_base_component_var_register(&mca_coll_cuda_component.super.collm_version,
77 "priority", "Priority of the cuda coll component; only relevant if barrier_before or barrier_after is > 0",
78 MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
79 OPAL_INFO_LVL_6,
80 MCA_BASE_VAR_SCOPE_READONLY,
81 &mca_coll_cuda_component.priority);
82
83 (void) mca_base_component_var_register(&mca_coll_cuda_component.super.collm_version,
84 "disable_cuda_coll", "Automatically handle the CUDA buffers for the MPI collective.",
85 MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
86 OPAL_INFO_LVL_2,
87 MCA_BASE_VAR_SCOPE_READONLY,
88 &mca_coll_cuda_component.disable_cuda_coll);
89
90 return OMPI_SUCCESS;
91 }