1 /*
2 * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2006 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 (c) 2008-2017 University of Houston. All rights reserved.
13 * Copyright (c) 2018 Research Organization for Information Science
14 * and Technology (RIST). All rights reserved.
15 * $COPYRIGHT$
16 *
17 * Additional copyrights may follow
18 *
19 * $HEADER$
20 */
21
22 #include "ompi_config.h"
23 #include "fcoll_vulcan.h"
24
25 #include <stdio.h>
26
27 #include "mpi.h"
28 #include "ompi/mca/fcoll/fcoll.h"
29 #include "ompi/mca/fcoll/base/base.h"
30
31
32 /*
33 * *******************************************************************
34 * ************************ actions structure ************************
35 * *******************************************************************
36 */
37 static mca_fcoll_base_module_1_0_0_t vulcan = {
38 mca_fcoll_vulcan_module_init,
39 mca_fcoll_vulcan_module_finalize,
40 mca_fcoll_vulcan_file_read_all,
41 NULL, /* iread_all */
42 mca_fcoll_vulcan_file_write_all,
43 NULL, /*iwrite_all */
44 NULL, /* progress */
45 NULL /* request_free */
46 };
47
48 int
49 mca_fcoll_vulcan_component_init_query(bool enable_progress_threads,
50 bool enable_mpi_threads)
51 {
52 /* Nothing to do */
53
54 return OMPI_SUCCESS;
55 }
56
57 mca_fcoll_base_module_1_0_0_t *
58 mca_fcoll_vulcan_component_file_query (ompio_file_t *fh, int *priority)
59 {
60 *priority = mca_fcoll_vulcan_priority;
61 if (0 >= mca_fcoll_vulcan_priority) {
62 return NULL;
63 }
64
65 if (mca_fcoll_base_query_table (fh, "vulcan")) {
66 if (*priority < 50) {
67 *priority = 50;
68 }
69 }
70
71 return &vulcan;
72 }
73
74 int mca_fcoll_vulcan_component_file_unquery (ompio_file_t *file)
75 {
76 /* This function might be needed for some purposes later. for now it
77 * does not have anything to do since there are no steps which need
78 * to be undone if this module is not selected */
79
80 return OMPI_SUCCESS;
81 }
82
83 int mca_fcoll_vulcan_module_init (ompio_file_t *file)
84 {
85 return OMPI_SUCCESS;
86 }
87
88
89 int mca_fcoll_vulcan_module_finalize (ompio_file_t *file)
90 {
91 return OMPI_SUCCESS;
92 }