Moved broken collectiveMetadata option into HDF5 backend module. #154
parent
c21744d893
commit
cf197d5e38
|
@ -289,8 +289,7 @@ HDF5-ONLY
|
||||||
|
|
||||||
* setAlignment - HDF5 alignment in bytes (e.g.: 8, 4k, 2m, 1g) [1]
|
* setAlignment - HDF5 alignment in bytes (e.g.: 8, 4k, 2m, 1g) [1]
|
||||||
|
|
||||||
* collectiveMetadata - enable HDF5 collective metadata (available since
|
* hdf5.collectiveMetadata - enable HDF5 collective metadata (available since HDF5-1.10.0)
|
||||||
HDF5-1.10.0)
|
|
||||||
|
|
||||||
MPIIO-, HDF5-, AND NCMPI-ONLY
|
MPIIO-, HDF5-, AND NCMPI-ONLY
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
@ -94,6 +94,34 @@ static void HDF5_Fsync(void *, IOR_param_t *);
|
||||||
static IOR_offset_t HDF5_GetFileSize(IOR_param_t *, MPI_Comm, char *);
|
static IOR_offset_t HDF5_GetFileSize(IOR_param_t *, MPI_Comm, char *);
|
||||||
static int HDF5_Access(const char *, int, IOR_param_t *);
|
static int HDF5_Access(const char *, int, IOR_param_t *);
|
||||||
|
|
||||||
|
/************************** O P T I O N S *****************************/
|
||||||
|
typedef struct{
|
||||||
|
int collective_md;
|
||||||
|
} HDF5_options_t;
|
||||||
|
/***************************** F U N C T I O N S ******************************/
|
||||||
|
|
||||||
|
static option_help * HDF5_options(void ** init_backend_options, void * init_values){
|
||||||
|
HDF5_options_t * o = malloc(sizeof(HDF5_options_t));
|
||||||
|
|
||||||
|
if (init_values != NULL){
|
||||||
|
memcpy(o, init_values, sizeof(HDF5_options_t));
|
||||||
|
}else{
|
||||||
|
/* initialize the options properly */
|
||||||
|
o->collective_md = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
*init_backend_options = o;
|
||||||
|
|
||||||
|
option_help h [] = {
|
||||||
|
{0, "hdf5.collectiveMetadata", "Use collectiveMetadata (available since HDF5-1.10.0)", OPTION_FLAG, 'd', & o->collective_md},
|
||||||
|
LAST_OPTION
|
||||||
|
};
|
||||||
|
option_help * help = malloc(sizeof(h));
|
||||||
|
memcpy(help, h, sizeof(h));
|
||||||
|
return help;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************** D E C L A R A T I O N S ***************************/
|
/************************** D E C L A R A T I O N S ***************************/
|
||||||
|
|
||||||
ior_aiori_t hdf5_aiori = {
|
ior_aiori_t hdf5_aiori = {
|
||||||
|
@ -112,6 +140,7 @@ ior_aiori_t hdf5_aiori = {
|
||||||
.rmdir = aiori_posix_rmdir,
|
.rmdir = aiori_posix_rmdir,
|
||||||
.access = HDF5_Access,
|
.access = HDF5_Access,
|
||||||
.stat = aiori_posix_stat,
|
.stat = aiori_posix_stat,
|
||||||
|
.get_options = HDF5_options
|
||||||
};
|
};
|
||||||
|
|
||||||
static hid_t xferPropList; /* xfer property list */
|
static hid_t xferPropList; /* xfer property list */
|
||||||
|
@ -230,7 +259,8 @@ static void *HDF5_Open(char *testFileName, IOR_param_t * param)
|
||||||
"cannot set alignment");
|
"cannot set alignment");
|
||||||
|
|
||||||
#ifdef HAVE_H5PSET_ALL_COLL_METADATA_OPS
|
#ifdef HAVE_H5PSET_ALL_COLL_METADATA_OPS
|
||||||
if (param->collective_md) {
|
HDF5_options_t *o = (HDF5_options_t*) param->backend_options;
|
||||||
|
if (o->collective_md) {
|
||||||
/* more scalable metadata */
|
/* more scalable metadata */
|
||||||
|
|
||||||
HDF5_CHECK(H5Pset_all_coll_metadata_ops(accessPropList, 1),
|
HDF5_CHECK(H5Pset_all_coll_metadata_ops(accessPropList, 1),
|
||||||
|
|
|
@ -183,8 +183,6 @@ typedef struct
|
||||||
char* URI; /* "path" to target object */
|
char* URI; /* "path" to target object */
|
||||||
size_t part_number; /* multi-part upload increment (PER-RANK!) */
|
size_t part_number; /* multi-part upload increment (PER-RANK!) */
|
||||||
char* UploadId; /* key for multi-part-uploads */
|
char* UploadId; /* key for multi-part-uploads */
|
||||||
int collective_md; /* use collective metatata optimization */
|
|
||||||
|
|
||||||
|
|
||||||
/* RADOS variables */
|
/* RADOS variables */
|
||||||
rados_t rados_cluster; /* RADOS cluster handle */
|
rados_t rados_cluster; /* RADOS cluster handle */
|
||||||
|
|
Loading…
Reference in New Issue