summaryrefslogtreecommitdiffstats
path: root/src/H5FDmpi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5FDmpi.h')
-rw-r--r--src/H5FDmpi.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/H5FDmpi.h b/src/H5FDmpi.h
index aac7bf6..c9da439 100644
--- a/src/H5FDmpi.h
+++ b/src/H5FDmpi.h
@@ -21,12 +21,34 @@
#ifndef H5FDmpi_H
#define H5FDmpi_H
+/***** Macros for One linked collective IO case. *****/
+/* The default value to do one linked collective IO for all chunks.
+ If the average number of chunks per process is greater than this value,
+ the library will create an MPI derived datatype to link all chunks to do collective IO.
+ The user can set this value through an API. */
+
+#define H5D_ONE_LINK_CHUNK_IO_THRESHOLD 0
+/***** Macros for multi-chunk collective IO case. *****/
+/* The default value of the threshold to do collective IO for this chunk.
+ If the average number of processes per chunk is greater than the default value,
+ collective IO is done for this chunk.
+*/
+
+#define H5D_MULTI_CHUNK_IO_COL_THRESHOLD 50
/* Type of I/O for data transfer properties */
typedef enum H5FD_mpio_xfer_t {
H5FD_MPIO_INDEPENDENT = 0, /*zero is the default*/
H5FD_MPIO_COLLECTIVE
} H5FD_mpio_xfer_t;
+/* Type of I/O for data transfer properties */
+typedef enum H5FD_mpio_chunk_opt_t {
+ H5FD_MPIO_OPT_IGNORE = 0,
+ H5FD_MPIO_OPT_ONE_IO, /*zero is the default*/
+ H5FD_MPIO_OPT_MULTI_IO
+} H5FD_mpio_chunk_opt_t;
+
+
#ifdef H5_HAVE_PARALLEL
/* Sub-class the H5FD_class_t to add more specific functions for MPI-based VFDs */