HDF5  1.12.0
H5FDmpio.h
Go to the documentation of this file.
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 COPYING file, which can be found at the root of the source code *
9  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
10  * If you do not have access to either file, you may request a copy from *
11  * help@hdfgroup.org. *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 /*
15  * Programmer: Robb Matzke <matzke@llnl.gov>
16  * Monday, August 2, 1999
17  *
18  * Purpose: The public header file for the mpio driver.
19  */
20 #ifndef H5FDmpio_H
21 #define H5FDmpio_H
22 
23 /* Macros */
24 
25 #ifdef H5_HAVE_PARALLEL
26 # define H5FD_MPIO (H5FD_mpio_init())
27 #else
28 # define H5FD_MPIO (-1)
29 #endif /* H5_HAVE_PARALLEL */
30 
31 #ifdef H5_HAVE_PARALLEL
32 /*Turn on H5FDmpio_debug if H5F_DEBUG is on */
33 #ifdef H5F_DEBUG
34 #ifndef H5FDmpio_DEBUG
35 #define H5FDmpio_DEBUG
36 #endif
37 #endif
38 
39 /* Global var whose value comes from environment variable */
40 /* (Defined in H5FDmpio.c) */
41 H5_DLLVAR hbool_t H5FD_mpi_opt_types_g;
42 
43 /* Function prototypes */
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 H5_DLL hid_t H5FD_mpio_init(void);
48 H5_DLL herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info);
49 H5_DLL herr_t H5Pget_fapl_mpio(hid_t fapl_id, MPI_Comm *comm/*out*/,
50  MPI_Info *info/*out*/);
51 H5_DLL herr_t H5Pset_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t xfer_mode);
52 H5_DLL herr_t H5Pget_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode/*out*/);
53 H5_DLL herr_t H5Pset_dxpl_mpio_collective_opt(hid_t dxpl_id, H5FD_mpio_collective_opt_t opt_mode);
54 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt(hid_t dxpl_id, H5FD_mpio_chunk_opt_t opt_mode);
55 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt_num(hid_t dxpl_id, unsigned num_chunk_per_proc);
56 H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt_ratio(hid_t dxpl_id, unsigned percent_num_proc_per_chunk);
57 #ifdef __cplusplus
58 }
59 #endif
60 
61 #endif /* H5_HAVE_PARALLEL */
62 
63 #endif
64 
H5FD_mpio_chunk_opt_t
H5FD_mpio_chunk_opt_t
Definition: H5FDmpi.h:44
H5_DLLVAR
#define H5_DLLVAR
Definition: H5api_adpt.h:235
H5FD_mpio_collective_opt_t
H5FD_mpio_collective_opt_t
Definition: H5FDmpi.h:51
hid_t
int64_t hid_t
Definition: H5Ipublic.h:55
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5FD_mpio_xfer_t
H5FD_mpio_xfer_t
Definition: H5FDmpi.h:38
herr_t
int herr_t
Definition: H5public.h:128
hbool_t
bool hbool_t
Definition: H5public.h:159