This source file includes following definitions.
- MPIR_Status_set_bytes
- ADIOI_Datatype_iscontig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include "ompi_config.h"
24
25 #include "mpi.h"
26 #include "ompi/datatype/ompi_datatype.h"
27 #include "ompi/mca/io/io.h"
28 #include "io_romio321.h"
29
30
31
32
33
34
35 int MPIR_Status_set_bytes(ompi_status_public_t *status,
36 struct ompi_datatype_t *datatype, int size);
37 void ADIOI_Datatype_iscontig(MPI_Datatype datatype, int *flag);
38
39
40
41
42
43 mca_io_base_module_2_0_0_t mca_io_romio321_module = {
44
45
46 mca_io_romio321_file_open,
47 mca_io_romio321_file_close,
48
49 mca_io_romio321_file_set_size,
50 mca_io_romio321_file_preallocate,
51 mca_io_romio321_file_get_size,
52 mca_io_romio321_file_get_amode,
53 mca_io_romio321_file_set_view,
54 mca_io_romio321_file_get_view,
55
56
57 mca_io_romio321_file_read_at,
58 mca_io_romio321_file_read_at_all,
59 mca_io_romio321_file_write_at,
60 mca_io_romio321_file_write_at_all,
61 mca_io_romio321_file_iread_at,
62 mca_io_romio321_file_iwrite_at,
63 mca_io_romio321_file_iread_at_all,
64 mca_io_romio321_file_iwrite_at_all,
65
66
67 mca_io_romio321_file_read,
68 mca_io_romio321_file_read_all,
69 mca_io_romio321_file_write,
70 mca_io_romio321_file_write_all,
71 mca_io_romio321_file_iread,
72 mca_io_romio321_file_iwrite,
73 mca_io_romio321_file_iread_all,
74 mca_io_romio321_file_iwrite_all,
75
76 mca_io_romio321_file_seek,
77 mca_io_romio321_file_get_position,
78 mca_io_romio321_file_get_byte_offset,
79
80 mca_io_romio321_file_read_shared,
81 mca_io_romio321_file_write_shared,
82 mca_io_romio321_file_iread_shared,
83 mca_io_romio321_file_iwrite_shared,
84 mca_io_romio321_file_read_ordered,
85 mca_io_romio321_file_write_ordered,
86 mca_io_romio321_file_seek_shared,
87 mca_io_romio321_file_get_position_shared,
88
89
90 mca_io_romio321_file_read_at_all_begin,
91 mca_io_romio321_file_read_at_all_end,
92 mca_io_romio321_file_write_at_all_begin,
93 mca_io_romio321_file_write_at_all_end,
94 mca_io_romio321_file_read_all_begin,
95 mca_io_romio321_file_read_all_end,
96 mca_io_romio321_file_write_all_begin,
97 mca_io_romio321_file_write_all_end,
98 mca_io_romio321_file_read_ordered_begin,
99 mca_io_romio321_file_read_ordered_end,
100 mca_io_romio321_file_write_ordered_begin,
101 mca_io_romio321_file_write_ordered_end,
102
103 mca_io_romio321_file_get_type_extent,
104
105
106 mca_io_romio321_file_set_atomicity,
107 mca_io_romio321_file_get_atomicity,
108 mca_io_romio321_file_sync
109 };
110
111
112
113
114
115
116
117 int MPIR_Status_set_bytes(ompi_status_public_t *status,
118 struct ompi_datatype_t *datatype, int nbytes)
119 {
120
121
122
123
124
125
126
127
128 MPI_Status_set_elements(status, MPI_CHAR, nbytes);
129 return MPI_SUCCESS;
130 }
131
132
133 void ADIOI_Datatype_iscontig(MPI_Datatype datatype, int *flag)
134 {
135
136
137
138
139
140
141
142 *flag = ompi_datatype_is_contiguous_memory_layout(datatype, 2);
143 if (*flag) {
144 MPI_Aint true_extent, true_lb;
145
146 ompi_datatype_get_true_extent(datatype, &true_lb, &true_extent);
147
148 if (true_lb > 0)
149 *flag = 0;
150 }
151 }