SIONlib  1.7.4
Scalable I/O library for parallel access to task-local files
sion_fortran_writeread_mpi_f77.c
1 /****************************************************************************
2 ** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3 *****************************************************************************
4 ** Copyright (c) 2008-2019 **
5 ** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6 ** **
7 ** See the file COPYRIGHT in the package base directory for details **
8 ****************************************************************************/
19 #define _XOPEN_SOURCE 700
20 
21 #include <stdio.h>
22 #include <stdlib.h>
23 #include <string.h>
24 
25 #include "mpi.h"
26 
27 #include "sion.h"
28 #include "sion_debug.h"
29 #include "sion_fd.h"
30 #include "sion_filedesc.h"
31 #include "sion_fortran_writeread_mpi_f77.h"
32 
33 #include "sion_mpi.h"
34 
35 #define DFUNCTION "fsion_coll_fwrite_mpi"
36 
51 void fsion_coll_fwrite_mpi(const void *data,
52  sion_int64 *size,
53  sion_int64 *nitems,
54  int *sid,
55  sion_int64 *rc)
56 {
57  DPRINTFP((1, DFUNCTION, -1, "enter size=%ld nitems=%ld\n",(long) *size, (long) *nitems));
58  (*rc) = (sion_int64) sion_coll_fwrite_mpi(data, (size_t) *size, (size_t) *nitems, *sid);
59  DPRINTFP((1, DFUNCTION, -1, "leave rc=%d\n",*rc));
60 }
61 #undef DFUNCTION
62 
63 
64 
80 void fsion_coll_fread_mpi(void *data,
81  sion_int64 *size,
82  sion_int64 *nitems,
83  int *sid,
84  sion_int64 *rc)
85 {
86  (*rc) = (sion_int64) sion_coll_fread_mpi(data, (size_t) *size, (size_t) *nitems, *sid);
87 }
88