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 modulehdf5.H5FDmpi;
17 18 /*
19 * Programmer: Quincey Koziol <koziol@ncsa.uiuc.edu>
20 * Friday, January 30, 2004
21 *
22 * Purpose: The public header file for common items for all MPI VFL drivers
23 */24 25 //public import hdf5.H5FDmpio;26 27 extern(C):
28 29 /***** Macros for One linked collective IO case. *****/30 /* The default value to do one linked collective IO for all chunks.
31 If the average number of chunks per process is greater than this value,
32 the library will create an MPI derived datatype to link all chunks to do collective IO.
33 The user can set this value through an API. */34 35 enumH5D_ONE_LINK_CHUNK_IO_THRESHOLD = 0;
36 /***** Macros for multi-chunk collective IO case. *****/37 /* The default value of the threshold to do collective IO for this chunk.
38 If the average percentage of processes per chunk is greater than the default value,
39 collective IO is done for this chunk.
40 */41 42 enumH5D_MULTI_CHUNK_IO_COL_THRESHOLD = 60;
43 /* Type of I/O for data transfer properties */44 enumH5FD_mpio_xfer_t {
45 H5FD_MPIO_INDEPENDENT = 0, /*zero is the default*/46 H5FD_MPIO_COLLECTIVE47 }
48 49 enum {
50 H5FD_MPIO_INDEPENDENT = 0, /*zero is the default*/51 H5FD_MPIO_COLLECTIVE52 }
53 54 /* Type of chunked dataset I/O */55 enumH5FD_mpio_chunk_opt_t {
56 H5FD_MPIO_CHUNK_DEFAULT = 0,
57 H5FD_MPIO_CHUNK_ONE_IO, /*zero is the default*/58 H5FD_MPIO_CHUNK_MULTI_IO59 }
60 61 enum {
62 H5FD_MPIO_CHUNK_DEFAULT = 0,
63 H5FD_MPIO_CHUNK_ONE_IO, /*zero is the default*/64 H5FD_MPIO_CHUNK_MULTI_IO65 }
66 67 /* Type of collective I/O */68 enumH5FD_mpio_collective_opt_t {
69 H5FD_MPIO_COLLECTIVE_IO = 0,
70 H5FD_MPIO_INDIVIDUAL_IO/*zero is the default*/71 }
72 73 enum {
74 H5FD_MPIO_COLLECTIVE_IO = 0,
75 H5FD_MPIO_INDIVIDUAL_IO/*zero is the default*/76 }
77 78