Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-18 09:16:02

0001 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
0002  * Copyright by The HDF Group.                                               *
0003  * All rights reserved.                                                      *
0004  *                                                                           *
0005  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
0006  * terms governing use, modification, and redistribution, is contained in    *
0007  * the COPYING file, which can be found at the root of the source code       *
0008  * distribution tree, or in https://www.hdfgroup.org/licenses.               *
0009  * If you do not have access to either file, you may request a copy from     *
0010  * help@hdfgroup.org.                                                        *
0011  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
0012 
0013 /*
0014  * Purpose: The public header file for common items for all MPI VFL drivers
0015  */
0016 #ifndef H5FDmpi_H
0017 #define H5FDmpi_H
0018 
0019 /***** Macros for One linked collective IO case. *****/
0020 /* The default value to do one linked collective IO for all chunks.
0021    If the average number of chunks per process is greater than this value,
0022       the library will create an MPI derived datatype to link all chunks to do collective IO.
0023       The user can set this value through an API. */
0024 
0025 #define H5D_ONE_LINK_CHUNK_IO_THRESHOLD 0
0026 /***** Macros for multi-chunk collective IO case. *****/
0027 /* The default value of the threshold to do collective IO for this chunk.
0028    If the average percentage of processes per chunk is greater than the default value,
0029    collective IO is done for this chunk.
0030 */
0031 
0032 #define H5D_MULTI_CHUNK_IO_COL_THRESHOLD 60
0033 /**
0034  * Type of I/O for data transfer properties
0035  */
0036 typedef enum H5FD_mpio_xfer_t {
0037     H5FD_MPIO_INDEPENDENT = 0, /**< Use independent I/O access */
0038     H5FD_MPIO_COLLECTIVE       /**< Use collective I/O access */
0039 } H5FD_mpio_xfer_t;
0040 
0041 /* Type of chunked dataset I/O */
0042 typedef enum H5FD_mpio_chunk_opt_t {
0043     H5FD_MPIO_CHUNK_DEFAULT = 0,
0044     H5FD_MPIO_CHUNK_ONE_IO, /*zero is the default*/
0045     H5FD_MPIO_CHUNK_MULTI_IO
0046 } H5FD_mpio_chunk_opt_t;
0047 
0048 /* Type of collective I/O */
0049 typedef enum H5FD_mpio_collective_opt_t {
0050     H5FD_MPIO_COLLECTIVE_IO = 0,
0051     H5FD_MPIO_INDIVIDUAL_IO /*zero is the default*/
0052 } H5FD_mpio_collective_opt_t;
0053 
0054 /* Include all the MPI VFL headers */
0055 #include "H5FDmpio.h" /* MPI I/O file driver            */
0056 
0057 #endif /* H5FDmpi_H */