Commit Graph

221 Commits

Author SHA1 Message Date
Allen Byrne
88e8597cde Small changes discovered with mingw and windows defines moved 2020-07-02 13:52:03 -05:00
Jacob Smith
075e74e9b2 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into feature/vfd_splitter_mirror_a 2020-04-07 10:29:00 -05:00
Allen Byrne
57f5d00a43 TRILAB-192 add c++ and fortran warnings build systems one file 2020-04-05 10:50:08 -05:00
Allen Byrne
1505fa1498 TRILAB-192 restrict extensive warnings to libraries 2020-03-24 16:45:12 -05:00
Jacob Smith
b65405439d Add Splitter VFD to library.
* "Simultaneous and equivalent" Read-Write and Write-Only channels for
  file I/O.
* Only supports drivers with the H5FD_FEAT_DEFAULT_VFD_COMPATIBLE flag for
  now, preventing issues with multi-file drivers.

Add Mirror VFD to library.

* Write-only operations over a network.
* Uses TCP/IP sockets.
* Server and auxiliary server-shutdown programs provided in a new directory,
  `utils/mirror_vfd`.
* Automated testing via loopback ("remote" of localhost).
2020-03-13 17:13:17 -05:00
Allen Byrne
666205a55f TRILAB-142 Change minimum CMake version to 3.12 2020-02-21 16:16:06 -06:00
Dana Robinson
a92c735c9b Squashed commit of the token_refactoring branch: 2020-01-16 13:29:34 -08:00
Quincey Koziol
58cf795321 Refactor all the 'H5VL_*_optional' callbacks to move the type of operation out
of the va_list, so it's at least possible for another connector to know what
the operation is and decide whether to implement it or not.

Added a new VOL sub-class called "introspect" where callbacks that report
information about the connector or container can be placed.  Added an
'opt_query' callback to this sub-class, for a connector to report back
to the library whether a particular optional callback operation is supported.
Also added a 'get_conn_cls' introspection callback, to retrieve the H5VL_class_t
of a connector (either the "current" connector, H5VL_GET_CONN_LVL_CURR, or
the terminal connector, H5VL_GET_CONN_LVL_TERM).

Moved the "post open" operation from a file 'specific' operation to a file
'optional' operation, now that it's possible to detect (with the 'opt_query'
introspection callback) whether a VOL connector implements an optional
operation, without just returning an error.

Added new internal VOL helper routines: H5VL_object_is_native, to determine
if an object is in (or is a) native file, and H5VL_file_is_same, to determine
if two objects are in (or are) the same terminal VOL connector's container.
(And moved the special handling for FILE_IS_EQUAL operation out of internal VOL
callback routine into H5VL_file_is_same)

Made new dataset 'get' operation for H5Dvlen_get_buf_size, aligning it better
with other 'get' operations in API.

Fixed several issues with pass-through connectors, which are now passing the
'make check-passthrough-vol' tests again.

A bunch of warning and style cleanups as well.
2019-12-19 22:41:37 -06:00
Allen Byrne
c2fd059704 Correct file extension 2019-11-14 16:41:18 -06:00
Jerome Soumagne
ae490016b9 Add new H5R API that abstracts object, region and attribute reference types
Also support references to external files

Add new H5T_REF type and type conversion routines

Support conversion from H5T_REF_OBJ/DSET_REG to H5T_REF

Add H5Treclaim() API to reclaim memory of vlen/reference types

Deprecate H5Dvlen_reclaim()

Fix H5T_vlen_reclaim() and H5T_reclaim() to use private callback

Add H5T_ref_reclaim()

Move previous H5R APIs to H5Rdeprec.c

Clean up H5Ocopy

Separate H5O_copy_expand_ref() to H5Ocopy_ref()

Add support for copying new reference types

Clean up deprecated routines to go through VOL and same code path

Fix return codes in existing trefer.c test

Rename trefer.c to trefer_deprec.c

trefer.c is for new references

Add performance test for trefer

Add additional obj_copy_ref test

Make use of tokens and blobs to store references

Skip blob encoding for object references

Start adding new reference examples
2019-10-08 14:30:24 -05:00
Quincey Koziol
eaa65c862b Add 'blob' callbacks to VOL, along with a native implementation to store them
in the global heap, and changed the VL datatype conversion code to use blobs.

Move encode/decode of sequence lengths into VL datatype callbacks, from native
VOL blob routines.
2019-10-08 14:30:23 -05:00
Dana Robinson
6eb506eff7 Revert "Moved NDEBUG guards to H5EA_DEBUG in H5EA package."
This reverts commit 431123503d.
2019-09-24 05:20:30 -05:00
Dana Robinson
431123503d Moved NDEBUG guards to H5EA_DEBUG in H5EA package. 2019-09-17 16:53:18 -07:00
Allen Byrne
b477f9bcc7 HDFFV-10901 add missing config options 2019-09-13 11:34:00 -05:00
Allen Byrne
0b6f5e88cd Fix EXISTS test syntax 2019-08-29 14:43:35 -05:00
Dana Robinson
bd8da502cf Some refactoring prior to implementing new H5P MPI functions.
* Macro cleanup and obvious warning fixes in parallel code.
* Moved H5FD comm and info dup/free wrapper code to a new H5mpi.c file
  and separated it to deal with each MPI type separately.
2019-08-14 16:22:06 -07:00
Dana Robinson
5b6bd7c922 Added the map (H5M) API 2019-08-13 01:36:42 -07:00
Larry Knox
8008294578 Squashed commit of the following:
Merge changes from update_merged_S3_HDFS branch into develop.

commit d5034315aea88629929ac0c9c59ebfafd5f21a31
Merge: 9c48823 d3fdcd8
Author: Larry Knox <lrknox@hdfgroup.org>
Date:   Thu Jul 25 08:24:53 2019 -0500

    Merge branch 'develop' into update_merged_S3_HDFS
2019-07-25 11:47:12 -05:00
Allen Byrne
ac5680ce8d HDFFV-10845 add_custom_command requires emulator 2019-07-17 11:58:04 -05:00
Allen Byrne
7174b5c135 HDFFV-8631 mingw is different platform 2019-07-17 11:58:02 -05:00
Allen Byrne
7bb020fcec HDFFV-10845 add support for mingw toolchain 2019-07-17 11:56:48 -05:00
Allen Byrne
ae0c16d1f2 HDFFV-10581 fix locations for static pdb files 2019-07-08 12:21:11 -05:00
Allen Byrne
e7f16c6f2c HDFFV-10805 Add option to only build shared targets
HDFFV-10805 Add ONLY_SHARED_LIBS option and prefer shared over static
HDFFV-10803 Update FindSZIP.cmake find module
Remove unneeded modules and update java modules
2019-06-18 07:46:25 -05:00
Dana Robinson
d5a8b2a80c Split VOL connector routines into separate headers:
* H5VLconnector.h for terminal connector things
* H5VLconnector_passthru.h for passthrough connector things

Note that these headers are arranged such that they are included in
hdf5.h so VOL connectors only need to include that. The separation into
multiple headers is mainly for readability.
2019-05-24 02:22:08 -07:00
Vailin Choi
3ccc98e256 Modifications based on PR feedback:
(1) Add H5Sdeprec.c to src/CMakeLists.txt
(2) Add test for H5Sencode1.
2019-04-08 12:33:45 -05:00
Jerome Soumagne
dc69df49e6 CMake: fix pthread linking to only be private 2019-03-13 13:54:35 -05:00
Jerome Soumagne
bcf5c400c0 Fix CMake H5_HAVE_THREADSAFE to set value in H5pubconf.h
Add REQUIRED to find_package(Threads)

Link against thread library if static and not WIN32 platform
2019-02-21 16:39:37 -06:00
Allen Byrne
b5a4f470cd Use STREQUAL 2019-02-14 15:28:02 -06:00
Allen Byrne
2268685c08 CMake if statement correction 2019-02-14 11:20:17 -06:00
Allen Byrne
b95f05638c TRILAB-111 fixes for parallel testing 2019-02-13 15:53:59 -06:00
Larry Knox
bae744199b Add more specific batch scripts.
Add script raybsub to handle submitting .lsf files on ray with bsub <
script.lsf syntax that we couldn't handle with CMake.
Add hpc-cmake-tgz option for bin/release.
2019-01-31 14:22:52 -06:00
Larry Knox
25fe692c5c Configure build directory in batch scripts. 2019-01-05 07:49:19 -06:00
Larry Knox
72124031ec Add libhdf5_hl_fortran symlinks for libhdf5hl_fortran files.
Set ctest*.lsf.in.cmake scripts for sierra.
Correct src/CMakelists.txt syntax error.
2018-12-31 09:20:27 -06:00
Larry Knox
715272eeb7 Correct syntax error in CMakeLists.txt. 2018-12-31 06:23:13 -06:00
Larry Knox
126d1e6176 Add .lsf batch scripts and insert the build directory into the scripts
during configuration.
2018-12-28 16:50:48 -06:00
Dana Robinson
18e6ec82d0 Squash merge of MDC logging changes. 2018-12-20 20:41:42 -08:00
Dana Robinson
a06249a21b Moved private native VOL connector functions to H5VLnative_private.h. 2018-12-20 10:47:00 -08:00
Dana Robinson
9cfe7fd18d Split the native VOL connector code into multiple files and
moved the attribute code over.
2018-12-19 17:41:50 -08:00
Allen Byrne
f9f6e9fe24 Still need the stamp1 files if PREGEN 2018-12-13 15:32:49 -06:00
Allen Byrne
88137324fc HDFFV-10660 Add new files to OUTPUT section of custom commands 2018-12-13 09:40:43 -06:00
Allen Byrne
962f35e761 Add stamp files for generated files 2018-12-07 16:02:00 -06:00
Quincey Koziol
6eabeabdaa Refactor infrastructure for setting FAPL information from environment
variables during testing, including connecting native, pass-through, and
dynamically loaded VOL connectors.   Also bring native and pass-through
VOL connectors into alignment, removing the "H5VLnative_private.h" header.
2018-11-28 17:38:03 -06:00
Quincey Koziol
238a207f2d Add pass-through VOL connector 2018-11-28 10:26:03 -06:00
Quincey Koziol
f9b625ef5d Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-21 23:13:04 -06:00
Larry Knox
7bf6e98bd9 Move wait_H5init.cmake up to config/cmake. 2018-11-20 12:09:14 -06:00
Larry Knox
720bbdfe61 Changes to CMake code to pause cmake/ctest, waiting for batch jobs to
run and finish.
2018-11-20 11:03:58 -06:00
Larry Knox
6cbd463d41 Add script and changes to wait for H5Tinit.c
Add more sample batch scripts, specifically for sbatch, not for knl
cross compile.
Don't run parallel tests when no parallel test script is configured in
HDF5options.cmake.
2018-11-14 11:19:28 -06:00
Quincey Koziol
e2ed2edf6e Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-12 16:23:54 -06:00
Allen Byrne
7e204759f8 Fix generate file commands 2018-11-12 12:26:11 -06:00
Allen Byrne
ba609275d8 Fix target depends 2018-11-12 11:52:46 -06:00