diff options
author | MuQun Yang <ymuqun@hdfgroup.org> | 2006-03-14 18:29:35 (GMT) |
---|---|---|
committer | MuQun Yang <ymuqun@hdfgroup.org> | 2006-03-14 18:29:35 (GMT) |
commit | a4c816eb75c20de14a5e557ffd76c33190152ce2 (patch) | |
tree | d486af4248f19dca54b25c525af5e79766a37959 /src/H5FDmpi.h | |
parent | 838e79971076a29aea1fbad1c1b8d218d6da8644 (diff) | |
download | hdf5-a4c816eb75c20de14a5e557ffd76c33190152ce2.zip hdf5-a4c816eb75c20de14a5e557ffd76c33190152ce2.tar.gz hdf5-a4c816eb75c20de14a5e557ffd76c33190152ce2.tar.bz2 |
[svn-r12090] Purpose:
New APIs to add for collective chunk IO
Description:
Three new APIs
H5Pset_dxpl_mpio_chunk_opt_ratio
H5Pset_dxpl_mpio_chunk_opt_num
H5Pset_dxpl_mpio_chunk_opt
for optional optimization choices from users.
Solution:
Haven't added tests yet, won't affect other parts of the library.
Will add tests after urgent investigations of memory leaking problems from NASA Aura team.
Platforms tested:
heping: both parallel and sequential
shanti
Misc. update:
Diffstat (limited to 'src/H5FDmpi.h')
-rw-r--r-- | src/H5FDmpi.h | 22 |
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 */ |