Skip to content

Commit

Permalink
Updated to HDF5 1.10.0-alpha1
Browse files Browse the repository at this point in the history
  • Loading branch information
ulrikpedersen committed Mar 15, 2016
1 parent 5b9a671 commit 145cc14
Show file tree
Hide file tree
Showing 96 changed files with 2,767 additions and 631 deletions.
Binary file removed hdf5swmr/bin/accum_swmr_reader
Binary file not shown.
Binary file removed hdf5swmr/bin/atomic_reader
Binary file not shown.
Binary file removed hdf5swmr/bin/atomic_writer
Binary file not shown.
Binary file modified hdf5swmr/bin/gif2h5
Binary file not shown.
Binary file modified hdf5swmr/bin/h52gif
Binary file not shown.
6 changes: 3 additions & 3 deletions hdf5swmr/bin/h5cc
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ CLINKERBASE="gcc"
# from the hdf5 build. The order of the flags is intended to give precedence
# to the user's flags.
H5BLD_CFLAGS=" "
H5BLD_CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_BSD_SOURCE "
H5BLD_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE "
H5BLD_LDFLAGS=" "
H5BLD_LIBS=" -lpthread -lz -lrt -ldl -lm "
H5BLD_LIBS="-lrt -lz -ldl -lm "

CC="${HDF5_CC:-$CCBASE}"
CLINKER="${HDF5_CLINKER:-$CLINKERBASE}"
Expand Down Expand Up @@ -347,7 +347,7 @@ if test "x$do_link" = "xyes"; then
hpux*) flag="-Wl,+b -Wl," ;;
freebsd*|solaris*) flag="-R" ;;
rs6000*|aix*) flag="-L" ;;
irix*|sgi) flag="-rpath " ;;
sgi) flag="-rpath " ;;
*) flag="" ;;
esac

Expand Down
Binary file modified hdf5swmr/bin/h5clear
Binary file not shown.
Binary file modified hdf5swmr/bin/h5copy
Binary file not shown.
Binary file modified hdf5swmr/bin/h5debug
Binary file not shown.
Binary file modified hdf5swmr/bin/h5diff
Binary file not shown.
Binary file modified hdf5swmr/bin/h5dump
Binary file not shown.
Binary file added hdf5swmr/bin/h5format_convert
Binary file not shown.
Binary file modified hdf5swmr/bin/h5import
Binary file not shown.
Binary file modified hdf5swmr/bin/h5jam
Binary file not shown.
Binary file modified hdf5swmr/bin/h5ls
Binary file not shown.
Binary file modified hdf5swmr/bin/h5mkgrp
Binary file not shown.
Binary file modified hdf5swmr/bin/h5perf_serial
Binary file not shown.
Binary file modified hdf5swmr/bin/h5repack
Binary file not shown.
Binary file modified hdf5swmr/bin/h5repart
Binary file not shown.
Binary file modified hdf5swmr/bin/h5stat
Binary file not shown.
Binary file modified hdf5swmr/bin/h5unjam
Binary file not shown.
Binary file modified hdf5swmr/bin/h5watch
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_addrem_writer
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_generator
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_reader
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_remove_reader
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_remove_writer
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_sparse_reader
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_sparse_writer
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_start_write
Binary file not shown.
Binary file removed hdf5swmr/bin/swmr_writer
Binary file not shown.
Binary file removed hdf5swmr/bin/use_append_chunk
Binary file not shown.
Binary file removed hdf5swmr/bin/use_append_mchunks
Binary file not shown.
Binary file removed hdf5swmr/bin/use_disable_mdc_flushes
Binary file not shown.
4 changes: 2 additions & 2 deletions hdf5swmr/include/H5ACpublic.h
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ extern "C" {
****************************************************************************/

#define H5AC__CURR_CACHE_CONFIG_VERSION 1
#define H5AC__MAX_TRACE_FILE_NAME_LEN 1024
#define H5AC__MAX_TRACE_FILE_NAME_LEN 1024

#define H5AC_METADATA_WRITE_STRATEGY__PROCESS_0_ONLY 0
#define H5AC_METADATA_WRITE_STRATEGY__DISTRIBUTED 1
Expand Down Expand Up @@ -502,7 +502,7 @@ typedef struct H5AC_cache_config_t


/* parallel configuration fields: */
int dirty_bytes_threshold;
size_t dirty_bytes_threshold;
int metadata_write_strategy;

} H5AC_cache_config_t;
Expand Down
16 changes: 5 additions & 11 deletions hdf5swmr/include/H5DOpublic.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,16 @@ extern "C" {

/*-------------------------------------------------------------------------
*
* Direct chunk write function, Dataset append operation
* "Optimized dataset" routines.
*
*-------------------------------------------------------------------------
*/

H5_HLDLL herr_t H5DOwrite_chunk(hid_t dset_id,
hid_t dxpl_id,
uint32_t filters,
const hsize_t *offset,
size_t data_size,
const void *buf);

herr_t
H5DOappend(hid_t dset_id, hid_t dxpl_id, unsigned axis, size_t extension,
hid_t memtype, const void *buf);
H5_HLDLL herr_t H5DOwrite_chunk(hid_t dset_id, hid_t dxpl_id, uint32_t filters,
const hsize_t *offset, size_t data_size, const void *buf);

H5_HLDLL herr_t H5DOappend(hid_t dset_id, hid_t dxpl_id, unsigned axis,
size_t extension, hid_t memtype, const void *buf);

#ifdef __cplusplus
}
Expand Down
23 changes: 18 additions & 5 deletions hdf5swmr/include/H5Dpublic.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,18 @@ typedef enum H5D_layout_t {
H5D_COMPACT = 0, /*raw data is very small */
H5D_CONTIGUOUS = 1, /*the default */
H5D_CHUNKED = 2, /*slow and fancy */
H5D_NLAYOUTS = 3 /*this one must be last! */
H5D_VIRTUAL = 3, /*actual data is stored in other datasets */
H5D_NLAYOUTS = 4 /*this one must be last! */
} H5D_layout_t;

/* Types of chunk index data structures */
typedef enum H5D_chunk_index_t {
H5D_CHUNK_IDX_BTREE = 0, /* v1 B-tree index (default) */
H5D_CHUNK_IDX_NONE = 1, /* No Index (H5D_ALLOC_TIME_EARLY, non-filtered, fixed dims) */
H5D_CHUNK_IDX_FARRAY = 2, /* Fixed array (for 0 unlimited dims) */
H5D_CHUNK_IDX_EARRAY = 3, /* Extensible array (for 1 unlimited dim) */
H5D_CHUNK_IDX_BT2 = 4, /* v2 B-tree index (for >1 unlimited dims) */
H5D_CHUNK_IDX_SINGLE = 1, /* Single Chunk index (cur dims[]=max dims[]=chunk dims[]; filtered & non-filtered) */
H5D_CHUNK_IDX_NONE = 2, /* Implicit: No Index (H5D_ALLOC_TIME_EARLY, non-filtered, fixed dims) */
H5D_CHUNK_IDX_FARRAY = 3, /* Fixed array (for 0 unlimited dims) */
H5D_CHUNK_IDX_EARRAY = 4, /* Extensible array (for 1 unlimited dim) */
H5D_CHUNK_IDX_BT2 = 5, /* v2 B-tree index (for >1 unlimited dims) */
H5D_CHUNK_IDX_NTYPES /*this one must be last! */
} H5D_chunk_index_t;

Expand Down Expand Up @@ -100,6 +102,13 @@ typedef enum H5D_fill_value_t {
H5D_FILL_VALUE_USER_DEFINED =2
} H5D_fill_value_t;

/* Values for VDS bounds option */
typedef enum H5D_vds_view_t {
H5D_VDS_ERROR = -1,
H5D_VDS_FIRST_MISSING = 0,
H5D_VDS_LAST_AVAILABLE = 1
} H5D_vds_view_t;

/* Callback for H5Pset_append_flush() in a dataset access property list */
typedef herr_t (*H5D_append_cb_t)(hid_t dataset_id, hsize_t *cur_dims, void *op_data);

Expand Down Expand Up @@ -159,6 +168,10 @@ H5_DLL herr_t H5Dgather(hid_t src_space_id, const void *src_buf, hid_t type_id,
size_t dst_buf_size, void *dst_buf, H5D_gather_func_t op, void *op_data);
H5_DLL herr_t H5Ddebug(hid_t dset_id);

/* Internal API routines */
H5_DLL herr_t H5Dformat_convert(hid_t dset_id);
H5_DLL herr_t H5Dget_chunk_index_type(hid_t did, H5D_chunk_index_t *idx_type);

/* Symbols defined for compatibility with previous versions of the HDF5 API.
*
* Use of these symbols is deprecated.
Expand Down
14 changes: 14 additions & 0 deletions hdf5swmr/include/H5Epubgen.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
#ifndef _H5Epubgen_H
#define _H5Epubgen_H

#ifdef __cplusplus
extern "C" {
#endif

/*********************/
/* Major error codes */
/*********************/
Expand Down Expand Up @@ -282,6 +286,8 @@ H5_DLLVAR hid_t H5E_NOIDS_g; /* Out of IDs for group */
#define H5E_CANTUNDEPEND (H5OPEN H5E_CANTUNDEPEND_g)
#define H5E_CANTNOTIFY (H5OPEN H5E_CANTNOTIFY_g)
#define H5E_LOGFAIL (H5OPEN H5E_LOGFAIL_g)
#define H5E_CANTCORK (H5OPEN H5E_CANTCORK_g)
#define H5E_CANTUNCORK (H5OPEN H5E_CANTUNCORK_g)
H5_DLLVAR hid_t H5E_CANTFLUSH_g; /* Unable to flush data from cache */
H5_DLLVAR hid_t H5E_CANTSERIALIZE_g; /* Unable to serialize data from cache */
H5_DLLVAR hid_t H5E_CANTTAG_g; /* Unable to tag metadata in the cache */
Expand All @@ -302,6 +308,8 @@ H5_DLLVAR hid_t H5E_CANTDEPEND_g; /* Unable to create a flush dependency */
H5_DLLVAR hid_t H5E_CANTUNDEPEND_g; /* Unable to destroy a flush dependency */
H5_DLLVAR hid_t H5E_CANTNOTIFY_g; /* Unable to notify object about action */
H5_DLLVAR hid_t H5E_LOGFAIL_g; /* Failure in the cache logging framework */
H5_DLLVAR hid_t H5E_CANTCORK_g; /* Unable to cork an object */
H5_DLLVAR hid_t H5E_CANTUNCORK_g; /* Unable to uncork an object */

/* Link related errors */
#define H5E_TRAVERSE (H5OPEN H5E_TRAVERSE_g)
Expand Down Expand Up @@ -330,12 +338,14 @@ H5_DLLVAR hid_t H5E_CANTRECV_g; /* Can't receive data */
#define H5E_CANTNEXT (H5OPEN H5E_CANTNEXT_g)
#define H5E_BADSELECT (H5OPEN H5E_BADSELECT_g)
#define H5E_CANTCOMPARE (H5OPEN H5E_CANTCOMPARE_g)
#define H5E_CANTAPPEND (H5OPEN H5E_CANTAPPEND_g)
H5_DLLVAR hid_t H5E_CANTCLIP_g; /* Can't clip hyperslab region */
H5_DLLVAR hid_t H5E_CANTCOUNT_g; /* Can't count elements */
H5_DLLVAR hid_t H5E_CANTSELECT_g; /* Can't select hyperslab */
H5_DLLVAR hid_t H5E_CANTNEXT_g; /* Can't move to next iterator location */
H5_DLLVAR hid_t H5E_BADSELECT_g; /* Invalid selection */
H5_DLLVAR hid_t H5E_CANTCOMPARE_g; /* Can't compare objects */
H5_DLLVAR hid_t H5E_CANTAPPEND_g; /* Can't append object */

/* Argument errors */
#define H5E_UNINITIALIZED (H5OPEN H5E_UNINITIALIZED_g)
Expand Down Expand Up @@ -379,4 +389,8 @@ H5_DLLVAR hid_t H5E_CANTREMOVE_g; /* Unable to remove object */
H5_DLLVAR hid_t H5E_CANTCONVERT_g; /* Can't convert datatypes */
H5_DLLVAR hid_t H5E_BADSIZE_g; /* Bad size for object */

#ifdef __cplusplus
}
#endif

#endif /* H5Epubgen_H */
2 changes: 1 addition & 1 deletion hdf5swmr/include/H5Epublic.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#include "H5Ipublic.h"

/* Value for the default error stack */
#define H5E_DEFAULT 0
#define H5E_DEFAULT (hid_t)0

/* Different kinds of error information */
typedef enum H5E_type_t {
Expand Down
42 changes: 25 additions & 17 deletions hdf5swmr/include/H5FDpublic.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,13 +156,13 @@ typedef enum H5F_mem_t H5FD_mem_t;
/* Define VFL driver features that can be enabled on a per-driver basis */
/* These are returned with the 'query' function pointer in H5FD_class_t */
/*
* Defining the H5FD_FEAT_AGGREGATE_METADATA for a VFL driver means that
* Defining H5FD_FEAT_AGGREGATE_METADATA for a VFL driver means that
* the library will attempt to allocate a larger block for metadata and
* then sub-allocate each metadata request from that larger block.
*/
#define H5FD_FEAT_AGGREGATE_METADATA 0x00000001
/*
* Defining the H5FD_FEAT_ACCUMULATE_METADATA for a VFL driver means that
* Defining H5FD_FEAT_ACCUMULATE_METADATA for a VFL driver means that
* the library will attempt to cache metadata as it is written to the file
* and build up a larger block of metadata to eventually pass to the VFL
* 'write' routine.
Expand All @@ -177,64 +177,68 @@ typedef enum H5F_mem_t H5FD_mem_t;
#define H5FD_FEAT_ACCUMULATE_METADATA_READ 0x00000004
#define H5FD_FEAT_ACCUMULATE_METADATA (H5FD_FEAT_ACCUMULATE_METADATA_WRITE|H5FD_FEAT_ACCUMULATE_METADATA_READ)
/*
* Defining the H5FD_FEAT_DATA_SIEVE for a VFL driver means that
* Defining H5FD_FEAT_DATA_SIEVE for a VFL driver means that
* the library will attempt to cache raw data as it is read from/written to
* a file in a "data seive" buffer. See Rajeev Thakur's papers:
* http://www.mcs.anl.gov/~thakur/papers/romio-coll.ps.gz
* http://www.mcs.anl.gov/~thakur/papers/mpio-high-perf.ps.gz
*/
#define H5FD_FEAT_DATA_SIEVE 0x00000008
/*
* Defining the H5FD_FEAT_AGGREGATE_SMALLDATA for a VFL driver means that
* Defining H5FD_FEAT_AGGREGATE_SMALLDATA for a VFL driver means that
* the library will attempt to allocate a larger block for "small" raw data
* and then sub-allocate "small" raw data requests from that larger block.
*/
#define H5FD_FEAT_AGGREGATE_SMALLDATA 0x00000010
/*
* Defining the H5FD_FEAT_IGNORE_DRVRINFO for a VFL driver means that
* Defining H5FD_FEAT_IGNORE_DRVRINFO for a VFL driver means that
* the library will ignore the driver info that is encoded in the file
* for the VFL driver. (This will cause the driver info to be eliminated
* from the file when it is flushed/closed, if the file is opened R/W).
*/
#define H5FD_FEAT_IGNORE_DRVRINFO 0x00000020
/*
* Defining the H5FD_FEAT_DIRTY_SBLK_LOAD for a VFL driver means that
* the library will mark the superblock dirty when the file is opened
* Defining the H5FD_FEAT_DIRTY_DRVRINFO_LOAD for a VFL driver means that
* the library will mark the driver info dirty when the file is opened
* R/W. This will cause the driver info to be re-encoded when the file
* is flushed/closed.
*/
#define H5FD_FEAT_DIRTY_SBLK_LOAD 0x00000040
#define H5FD_FEAT_DIRTY_DRVRINFO_LOAD 0x00000040
/*
* Defining the H5FD_FEAT_POSIX_COMPAT_HANDLE for a VFL driver means that
* Defining H5FD_FEAT_POSIX_COMPAT_HANDLE for a VFL driver means that
* the handle for the VFD (returned with the 'get_handle' callback) is
* of type 'int' and is compatible with POSIX I/O calls.
*/
#define H5FD_FEAT_POSIX_COMPAT_HANDLE 0x00000080
/*
* Defining the H5FD_FEAT_HAS_MPI for a VFL driver means that
* Defining H5FD_FEAT_HAS_MPI for a VFL driver means that
* the driver makes use of MPI communication and code may retrieve
* communicator/rank information from it
*/
#define H5FD_FEAT_HAS_MPI 0x00000100
/*
* Defining the H5FD_FEAT_ALLOCATE_EARLY for a VFL driver means that
* the library will use the H5D_ALLOC_TIME_EARLY on dataset create
* Defining the H5FD_FEAT_ALLOCATE_EARLY for a VFL driver will force
* the library to use the H5D_ALLOC_TIME_EARLY on dataset create
* instead of the default H5D_ALLOC_TIME_LATE
*/
#define H5FD_FEAT_ALLOCATE_EARLY 0x00000200
/*
* Defining the H5FD_FEAT_ALLOW_FILE_IMAGE for a VFL driver means that
* Defining H5FD_FEAT_ALLOW_FILE_IMAGE for a VFL driver means that
* the driver is able to use a file image in the fapl as the initial
* contents of a file.
*/
#define H5FD_FEAT_ALLOW_FILE_IMAGE 0x00000400
/*
* Defining the H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS for a VFL driver
* Defining H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS for a VFL driver
* means that the driver is able to use callbacks to make a copy of the
* image to store in memory.
*/
#define H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS 0x00000800

/*
* Defining H5FD_FEAT_SUPPORTS_SWMR_IO for a VFL driver means that the
* driver supports the single-writer/multiple-readers I/O pattern.
*/
#define H5FD_FEAT_SUPPORTS_SWMR_IO 0x00001000

/* Forward declaration */
typedef struct H5FD_t H5FD_t;
Expand Down Expand Up @@ -267,7 +271,7 @@ typedef struct H5FD_class_t {
haddr_t addr, hsize_t size);
haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type);
herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr);
haddr_t (*get_eof)(const H5FD_t *file);
haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type);
herr_t (*get_handle)(H5FD_t *file, hid_t fapl, void**file_handle);
herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl,
haddr_t addr, size_t size, void *buffer);
Expand Down Expand Up @@ -298,6 +302,8 @@ struct H5FD_t {
unsigned long feature_flags; /* VFL Driver feature Flags */
haddr_t maxaddr; /* For this file, overrides class */
haddr_t base_addr; /* Base address for HDF5 data w/in file */
hbool_t swmr_read; /* Whether the file is open for SWMR read access */
/* Information from file open flags, for SWMR access */

/* Space allocation management fields */
hsize_t threshold; /* Threshold for alignment */
Expand Down Expand Up @@ -348,14 +354,16 @@ H5_DLL herr_t H5FDfree(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id,
haddr_t addr, hsize_t size);
H5_DLL haddr_t H5FDget_eoa(H5FD_t *file, H5FD_mem_t type);
H5_DLL herr_t H5FDset_eoa(H5FD_t *file, H5FD_mem_t type, haddr_t eoa);
H5_DLL haddr_t H5FDget_eof(H5FD_t *file);
H5_DLL haddr_t H5FDget_eof(H5FD_t *file, H5FD_mem_t type);
H5_DLL herr_t H5FDget_vfd_handle(H5FD_t *file, hid_t fapl, void**file_handle);
H5_DLL herr_t H5FDread(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id,
haddr_t addr, size_t size, void *buf/*out*/);
H5_DLL herr_t H5FDwrite(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id,
haddr_t addr, size_t size, const void *buf);
H5_DLL herr_t H5FDflush(H5FD_t *file, hid_t dxpl_id, unsigned closing);
H5_DLL herr_t H5FDtruncate(H5FD_t *file, hid_t dxpl_id, hbool_t closing);
H5_DLL herr_t H5FDlock(H5FD_t *file, hbool_t rw);
H5_DLL herr_t H5FDunlock(H5FD_t *file);

#ifdef __cplusplus
}
Expand Down
Loading

0 comments on commit 145cc14

Please sign in to comment.