Skip to content

Commit

Permalink
Removed source code associated with variants of HDF5 1.13
Browse files Browse the repository at this point in the history
  • Loading branch information
brtnfld committed Nov 14, 2024
1 parent c0e38af commit e23f532
Show file tree
Hide file tree
Showing 8 changed files with 11 additions and 640 deletions.
7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ set(HDF5_VOL_CACHE_PACKAGE_URL "https://github.com/hpc-io/vol-cache/")
set(HDF5_VOL_CACHE_PACKAGE_VENDOR "HPC IO")
message(STATUS "Configuring ${HDF5_VOL_CACHE_PACKAGE} ${PROJECT_VERSION}")

# Check if HDF5 version is 1.14 or greater
if(HDF5_FOUND)
if (HDF5_VERSION VERSION_LESS "1.14.0")
message (FATAL_ERROR "HDF5 ${HDF5_VERSION}: required HDF5 version is at least 1.14 ")
endif ()
endif ()

#-----------------------------------------------------------------------------
# Source
#-----------------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions docs/source/gettingstarted.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ We suggest the user to put all the VOL dynamic libraries (such as async, cache_e
Installation
============

1. Compile HDF5. Currently, Cache VOL works with the develop branch of HDF5 (with tag larger than 1.13.2). Two flags, --enable-parallel and --enable-threadsafe are needed for parallel I/O and multiple thread support.
1. Compile HDF5. Currently, Cache VOL works with HDF5 verions 1.14.0 and greater. Two flags, --enable-parallel and --enable-threadsafe are needed for parallel I/O and multiple thread support.

.. code-block::
Expand Down Expand Up @@ -106,7 +106,7 @@ All the setup of the local storage information is included in cache_1.cfg. Curre
HDF5_CACHE_WRITE_BUFFER_SIZE: 2147483648 # Storage space reserved for staging data to be written to the parallel file system.
HDF5_CACHE_STORAGE_TYPE: SSD # local storage type [SSD|BURST_BUFFER|MEMORY|GPU], default SSD
HDF5_CACHE_REPLACEMENT_POLICY: LRU # [LRU|LFU|FIFO|LIFO]
HDF5_CACHE_FUSION_THRESHOLD: 16777216 # Threshold beyond which the data is flushed to the terminal storage layer. This only works for HDF5 version > 1.13.3.
HDF5_CACHE_FUSION_THRESHOLD: 16777216 # Threshold beyond which the data is flushed to the terminal storage layer.
.. note::

Expand Down
2 changes: 1 addition & 1 deletion docs/source/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ We highlight a few features as follows:

4. Data is guaranteed to be flushed to the parallel file system at the end of H5Fclose call. We wait for all the data migration tasks to finish before closing the dataset or the file at H5Dclose or H5Fclose.

5. We also support merging several dataset writes call into a single write. This is particularly useful when there are a large number of small write requests in the applications. Merging small requests will help to reduce the overhead significantly. This feature is supported for HDF5 version later than 1.13.3.
5. We also support merging several dataset writes call into a single write. This is particularly useful when there are a large number of small write requests in the applications. Merging small requests will help to reduce the overhead significantly.
'''''''''''''''''''
Parallel read
'''''''''''''''''''
Expand Down
2 changes: 1 addition & 1 deletion spack/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class Hdf5volcache(CMakePackage):

depends_on('argobots@main')
depends_on['mpi']
depends_on('hdf5@develop-1.13+mpi+threadsafe')
depends_on('hdf5@1.14+mpi+threadsafe')
depends_on('hdf5-async-vol@develop')

def cmake_args(self):
Expand Down
20 changes: 0 additions & 20 deletions src/H5LS.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ typedef struct cache_t {
AccessHistory access_history;
} cache_t;

#if H5_VERSION_GE(1, 13, 3)
typedef struct _task_data_t {
// we will use the link structure in C to build the list of I/O tasks
char fname[255];
Expand All @@ -74,25 +73,6 @@ typedef struct _task_data_t {
struct _task_data_t *previous;
struct _task_data_t *next;
} task_data_t;
#else
typedef struct _task_data_t {
// we will use the link structure in C to build the list of I/O tasks
char fname[255];
void *dataset_obj;
hid_t dataset_id;
hid_t mem_type_id;
hid_t mem_space_id;
hid_t file_space_id;
hid_t xfer_plist_id;
void *req;
void *h5_state;
int id;
hsize_t offset; // offset in memory mapped file on SSD
hsize_t size;
void *buf;
struct _task_data_t *next;
} task_data_t;
#endif

typedef struct _request_list_t {
void *req;
Expand Down
Loading

0 comments on commit e23f532

Please sign in to comment.