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 | #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 | /* Macros */ |
---|
32 | |
---|
33 | #define IS_H5FD_MPIO(f) /* (H5F_t *f) */ \ |
---|
34 | (H5FD_MPIO==H5F_get_driver_id(f)) |
---|
35 | |
---|
36 | #ifdef H5_HAVE_PARALLEL |
---|
37 | /*Turn on H5FDmpio_debug if H5F_DEBUG is on */ |
---|
38 | #ifdef H5F_DEBUG |
---|
39 | #ifndef H5FDmpio_DEBUG |
---|
40 | #define H5FDmpio_DEBUG |
---|
41 | #endif |
---|
42 | #endif |
---|
43 | |
---|
44 | /* Function prototypes */ |
---|
45 | #ifdef __cplusplus |
---|
46 | extern "C" { |
---|
47 | #endif |
---|
48 | H5_DLL hid_t H5FD_mpio_init(void); |
---|
49 | H5_DLL void H5FD_mpio_term(void); |
---|
50 | H5_DLL herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info); |
---|
51 | H5_DLL herr_t H5Pget_fapl_mpio(hid_t fapl_id, MPI_Comm *comm/*out*/, |
---|
52 | MPI_Info *info/*out*/); |
---|
53 | H5_DLL herr_t H5Pset_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t xfer_mode); |
---|
54 | H5_DLL herr_t H5Pget_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode/*out*/); |
---|
55 | H5_DLL herr_t H5Pset_dxpl_mpio_collective_opt(hid_t dxpl_id, H5FD_mpio_collective_opt_t opt_mode); |
---|
56 | H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt(hid_t dxpl_id, H5FD_mpio_chunk_opt_t opt_mode); |
---|
57 | H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt_num(hid_t dxpl_id, unsigned num_chunk_per_proc); |
---|
58 | H5_DLL herr_t H5Pset_dxpl_mpio_chunk_opt_ratio(hid_t dxpl_id, unsigned percent_num_proc_per_chunk); |
---|
59 | #ifdef __cplusplus |
---|
60 | } |
---|
61 | #endif |
---|
62 | |
---|
63 | #endif /* H5_HAVE_PARALLEL */ |
---|
64 | |
---|
65 | #endif |
---|