36 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
37 *err_code = MPI_Comm_rank(commC, rank);
53 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
55 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
57 *src, *tag, pairedWith, commC,
70 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
72 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
74 *src, *tag, pairedWith, commC,
80 MPI_Fint *datatypeF, MPI_Fint *shadowdatatypeF,
87 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
88 MPI_Datatype shadowdatatype = MPI_Type_f2c(*shadowdatatypeF) ;
90 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
91 *err_code =
TLS_AMPI_Recv(buf, shadowbuf, *count, datatype, shadowdatatype,
92 *src, *tag, pairedWith, commC,
105 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
106 MPI_Request request = MPI_Request_f2c(*requestF);
108 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
110 *source, *tag, pairedWith, commC, &request);
111 *requestF = MPI_Request_c2f(request);
123 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
124 MPI_Request request = MPI_Request_f2c(*requestF);
126 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
128 *source, *tag, pairedWith, commC, &request);
133 MPI_Fint *datatypeF, MPI_Fint *shadowdatatypeF,
140 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
141 MPI_Request request = MPI_Request_f2c(*requestF);
142 MPI_Datatype shadowdatatype = MPI_Type_f2c(*shadowdatatypeF) ;
144 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
145 *err_code =
TLS_AMPI_Irecv(buf, shadowbuf, *count, datatype, shadowdatatype,
146 *source, *tag, pairedWith, commC, &request);
147 *requestF = MPI_Request_c2f(request);
158 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
160 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
162 *dest, *tag, pairedWith, commC);
173 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
175 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
177 *dest, *tag, pairedWith, commC);
182 MPI_Fint *datatypeF, MPI_Fint *shadowdatatypeF,
188 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
189 MPI_Datatype shadowdatatype = MPI_Type_f2c(*shadowdatatypeF) ;
191 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
192 *err_code =
TLS_AMPI_Send (buf, shadowbuf, *count, datatype, shadowdatatype,
193 *dest, *tag, pairedWith, commC);
205 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
206 MPI_Request request = MPI_Request_f2c(*requestF);
208 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
210 *dest, *tag, pairedWith, commC, &request);
211 *requestF = MPI_Request_c2f(request);
223 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
224 MPI_Request request = MPI_Request_f2c(*requestF);
226 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
228 *dest, *tag, pairedWith, commC, &request);
233 MPI_Fint *datatypeF, MPI_Fint *shadowdatatypeF,
240 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
241 MPI_Request request = MPI_Request_f2c(*requestF);
242 MPI_Datatype shadowdatatype = MPI_Type_f2c(*shadowdatatypeF) ;
244 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
245 *err_code =
TLS_AMPI_Isend(buf, shadowbuf, *count, datatype, shadowdatatype,
246 *dest, *tag, pairedWith, commC, &request);
247 *requestF = MPI_Request_c2f(request);
251 MPI_Request request = MPI_Request_f2c( *requestF );
252 if( statusF == MPI_F_STATUS_IGNORE ) {
253 *err_code =
FW_AMPI_Wait( &request, MPI_STATUS_IGNORE );
254 }
else if( statusF == MPI_F_STATUSES_IGNORE ) {
255 *err_code =
FW_AMPI_Wait( &request, MPI_STATUSES_IGNORE );
258 MPI_Status_f2c( statusF, &status );
260 MPI_Status_c2f( &status, statusF ) ;
265 MPI_Request request = MPI_Request_f2c( *requestF );
266 *err_code =
BW_AMPI_Wait( &request, MPI_STATUS_IGNORE );
267 *requestF = MPI_Request_c2f(request);
271 MPI_Request request = MPI_Request_f2c( *requestF );
272 if( statusF == MPI_F_STATUS_IGNORE ) {
275 else if( statusF == MPI_F_STATUSES_IGNORE ) {
280 MPI_Status_f2c( statusF, &status );
282 MPI_Status_c2f( &status, statusF ) ;
287 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
292 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
297 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
308 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
309 MPI_Op op = MPI_Op_f2c(*opF) ;
310 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
316 void* rbuf,
void* rbufb,
318 MPI_Fint *datatypeF, MPI_Fint *datatypebF,
319 MPI_Fint *opF,
void* uopbF,
323 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
324 MPI_Datatype datatypeb = MPI_Type_f2c(*datatypebF) ;
325 MPI_Op op = MPI_Op_f2c(*opF) ;
327 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
337 void* rbuf,
void* shadowrbuf,
339 MPI_Fint *datatypeF, MPI_Fint *shadowdatatypeF,
340 MPI_Fint *opF,
void* uopdF,
344 MPI_Datatype
datatype = MPI_Type_f2c(*datatypeF) ;
345 MPI_Datatype shadowdatatype = MPI_Type_f2c(*shadowdatatypeF) ;
346 MPI_Op op = MPI_Op_f2c(*opF) ;
348 MPI_Comm commC = MPI_Comm_f2c( *commF ) ;
352 datatype, shadowdatatype,