|
9 | 9 | * University of Stuttgart. All rights reserved. |
10 | 10 | * Copyright (c) 2004-2005 The Regents of the University of California. |
11 | 11 | * All rights reserved. |
| 12 | + * Copyright (c) 2017 IBM Corporation. All rights reserved. |
12 | 13 | * $COPYRIGHT$ |
13 | 14 | * |
14 | 15 | * Additional copyrights may follow |
@@ -87,6 +88,33 @@ mca_io_romio314_file_iread_at (ompi_file_t *fh, |
87 | 88 | return ret; |
88 | 89 | } |
89 | 90 |
|
| 91 | +int |
| 92 | +mca_io_romio314_file_iread_at_all (ompi_file_t *fh, |
| 93 | + MPI_Offset offset, |
| 94 | + void *buf, |
| 95 | + int count, |
| 96 | + struct ompi_datatype_t *datatype, |
| 97 | + ompi_request_t **request) |
| 98 | +{ |
| 99 | + int ret; |
| 100 | + mca_io_romio314_data_t *data; |
| 101 | + |
| 102 | + data = (mca_io_romio314_data_t *) fh->f_io_selected_data; |
| 103 | + OPAL_THREAD_LOCK (&mca_io_romio314_mutex); |
| 104 | + // ---------------------------------------------------- |
| 105 | + // NOTE: If you upgrade ROMIO, replace this with the actual ROMIO call. |
| 106 | + // ---------------------------------------------------- |
| 107 | + // No support for non-blocking collective I/O operations. |
| 108 | + // Fake it with individual non-blocking I/O operations. |
| 109 | + // Similar to OMPIO |
| 110 | + ret = |
| 111 | + ROMIO_PREFIX(MPI_File_iread_at) (data->romio_fh, offset, buf, count, |
| 112 | + datatype, request); |
| 113 | + OPAL_THREAD_UNLOCK (&mca_io_romio314_mutex); |
| 114 | + |
| 115 | + return ret; |
| 116 | +} |
| 117 | + |
90 | 118 |
|
91 | 119 | int |
92 | 120 | mca_io_romio314_file_read (ompi_file_t *fh, |
@@ -150,6 +178,31 @@ mca_io_romio314_file_iread (ompi_file_t *fh, |
150 | 178 | return ret; |
151 | 179 | } |
152 | 180 |
|
| 181 | +int |
| 182 | +mca_io_romio314_file_iread_all (ompi_file_t *fh, |
| 183 | + void *buf, |
| 184 | + int count, |
| 185 | + struct ompi_datatype_t *datatype, |
| 186 | + ompi_request_t **request) |
| 187 | +{ |
| 188 | + int ret; |
| 189 | + mca_io_romio314_data_t *data; |
| 190 | + |
| 191 | + data = (mca_io_romio314_data_t *) fh->f_io_selected_data; |
| 192 | + OPAL_THREAD_LOCK (&mca_io_romio314_mutex); |
| 193 | + // ---------------------------------------------------- |
| 194 | + // NOTE: If you upgrade ROMIO, replace this with the actual ROMIO call. |
| 195 | + // ---------------------------------------------------- |
| 196 | + // No support for non-blocking collective I/O operations. |
| 197 | + // Fake it with individual non-blocking I/O operations. |
| 198 | + // Similar to OMPIO |
| 199 | + ret = |
| 200 | + ROMIO_PREFIX(MPI_File_iread) (data->romio_fh, buf, count, datatype, |
| 201 | + request); |
| 202 | + OPAL_THREAD_UNLOCK (&mca_io_romio314_mutex); |
| 203 | + |
| 204 | + return ret; |
| 205 | +} |
153 | 206 |
|
154 | 207 | int |
155 | 208 | mca_io_romio314_file_read_shared (ompi_file_t *fh, |
|
0 commit comments