00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef H5FDmpio_H
00023 #define H5FDmpio_H
00024
00025 #ifdef H5_HAVE_PARALLEL
00026 # define H5FD_MPIO (H5FD_mpio_init())
00027 #else
00028 # define H5FD_MPIO (-1)
00029 #endif
00030
00031
00032
00033 #define IS_H5FD_MPIO(f) \
00034 (H5FD_MPIO==H5F_DRIVER_ID(f))
00035
00036 #ifdef H5_HAVE_PARALLEL
00037
00038 #ifdef H5F_DEBUG
00039 #ifndef H5FDmpio_DEBUG
00040 #define H5FDmpio_DEBUG
00041 #endif
00042 #endif
00043
00044
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048 H5_DLL hid_t H5FD_mpio_init(void);
00049 H5_DLL void H5FD_mpio_term(void);
00050 H5_DLL herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info);
00051 H5_DLL herr_t H5Pget_fapl_mpio(hid_t fapl_id, MPI_Comm *comm,
00052 MPI_Info *info);
00053 H5_DLL herr_t H5Pset_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t xfer_mode);
00054 H5_DLL herr_t H5Pget_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode);
00055 H5_DLL herr_t H5Pset_dxpl_mpio_collective_opt(hid_t dxpl_id, H5FD_mpio_collective_opt_t opt_mode);
00056 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt(hid_t dxpl_id, H5FD_mpio_chunk_opt_t opt_mode);
00057 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt_num(hid_t dxpl_id, unsigned num_chunk_per_proc);
00058 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt_ratio(hid_t dxpl_id, unsigned percent_num_proc_per_chunk);
00059 #ifdef __cplusplus
00060 }
00061 #endif
00062
00063 #endif
00064
00065 #endif