1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2 * Copyright by The HDF Group. * 3 * Copyright by the Board of Trustees of the University of Illinois. * 4 * All rights reserved. * 5 * * 6 * This file is part of HDF5. The full HDF5 copyright notice, including * 7 * terms governing use, modification, and redistribution, is contained in * 8 * the files COPYING and Copyright.html. COPYING can be found at the root * 9 * of the source code distribution tree; Copyright.html can be found at the * 10 * root level of an installed copy of the electronic HDF5 document set and * 11 * is linked from the top-level documents page. It can also be found at * 12 * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * 13 * access to either file, you may request a copy from help@hdfgroup.org. * 14 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 16 /* 17 * Programmer: Robb Matzke <matzke@llnl.gov> 18 * Monday, August 2, 1999 19 * 20 * Purpose: The public header file for the mpio driver. 21 */ 22 #ifndef H5FDmpio_H 23 #define H5FDmpio_H 24 25 /* Macros */ 26 27 #ifdef H5_HAVE_PARALLEL 28 # define H5FD_MPIO (H5FD_mpio_init()) 29 #else 30 # define H5FD_MPIO (-1) 31 #endif /* H5_HAVE_PARALLEL */ 32 33 #ifdef H5_HAVE_PARALLEL 34 /*Turn on H5FDmpio_debug if H5F_DEBUG is on */ 35 #ifdef H5F_DEBUG 36 #ifndef H5FDmpio_DEBUG 37 #define H5FDmpio_DEBUG 38 #endif 39 #endif 40 41 /* Global var whose value comes from environment variable */ 42 /* (Defined in H5FDmpio.c) */ 43 H5_DLLVAR hbool_t H5FD_mpi_opt_types_g; 44 45 /* Function prototypes */ 46 #ifdef __cplusplus 47 extern "C" { 48 #endif 49 H5_DLL hid_t H5FD_mpio_init(void); 50 H5_DLL void H5FD_mpio_term(void); 51 H5_DLL herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info); 52 H5_DLL herr_t H5Pget_fapl_mpio(hid_t fapl_id, MPI_Comm *comm/*out*/, 53 MPI_Info *info/*out*/); 54 H5_DLL herr_t H5Pset_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t xfer_mode); 55 H5_DLL herr_t H5Pget_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode/*out*/); 56 H5_DLL herr_t H5Pset_dxpl_mpio_collective_opt(hid_t dxpl_id, H5FD_mpio_collective_opt_t opt_mode); 57 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt(hid_t dxpl_id, H5FD_mpio_chunk_opt_t opt_mode); 58 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt_num(hid_t dxpl_id, unsigned num_chunk_per_proc); 59 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt_ratio(hid_t dxpl_id, unsigned percent_num_proc_per_chunk); 60 #ifdef __cplusplus 61 } 62 #endif 63 64 #endif /* H5_HAVE_PARALLEL */ 65 66 #endif 67