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