summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove cached datatype conversion path table entries on file close (#3942)jhendersonHDF2024-01-234-12/+117
| | | | | | | | | | | | | | | | | | | | Remove cached datatype conversion path table entries on file close When performing datatype conversions during I/O, the library checks to see whether it can re-use a cached datatype conversion pathway by performing comparisons between the source and destination datatypes of the current operation and the source and destination datatypes associated with each cached datatype conversion pathway. For variable-length and reference datatypes, a comparison is made between the VOL object for the file associated with these datatypes, which may change as a file is closed and reopened. In workflows involving a loop that opens a file, performs I/O on an object with a variable-length or reference datatype and then closes the file, this can lead to constant memory usage growth as the library compares the file VOL objects between the datatypes as different and adds a new cached conversion pathway entry on each iteration during I/O. This is now fixed by clearing out any cached conversion pathway entries for variable-length or reference datatypes associated with a particular file when that file is closed.
* Fortran API work. (#3941)Scot Breitenfeld2024-01-231-10/+11
| | | | | | | | | | | | * - Added Fortran APIs: H5FGET_INTENT_F, H5SSELECT_ITER_CREATE_F, H5SSEL_ITER_GET_SEQ_LIST_F, H5SSELECT_ITER_CLOSE_F, H5S_mp_H5SSELECT_ITER_RESET_F - Added Fortran Parameters: H5S_SEL_ITER_GET_SEQ_LIST_SORTED_F, H5S_SEL_ITER_SHARE_WITH_DATASPACE_F - Added tests for new APIs - Removed H5F C wrapper stubs - Documentation misc. cleanup.
* Update H5Fget_obj_count/ids docs to reflect dtype behavior (#3932)mattjala2024-01-201-2/+3
| | | | | * Update H5Fget_obj_count/ids to reflect dtype behavior * Clarify comments on H5Fget_obj_ids
* Fix chid_t to hid_t (#3948)Glenn Song2024-01-201-1/+1
| | | Co-authored-by: Glenn Song <gsong@hdfgroup.org>
* Replace off_t with HDoff_t internally (#3944)Dana Robinson2024-01-183-2/+6
| | | | | | off_t is a 32-bit signed value on Windows, so we should use HDoff_t (which is __int64 on Windows) internally instead. Also defines HDftell on Windows to be _ftelli64().
* Clean up Doxygen for szip functions and constants (#3943)Dana Robinson2024-01-182-14/+46
|
* Use props for includes and remove global includes (#3921)Allen Byrne2024-01-041-2/+2
|
* Add 'warning density' computation to the warnhist script (#3910)Quincey Koziol2023-12-299-57/+45
| | | | | | | | | * Add 'warning density' computation to the warnhist script, along with several cleanups to it. Add "--enable-show-all-warnings" configure (and CMake) option to disable compiler diagnostic suppression (and therefore show all the otherwise suppressed compiler diagnostics), disabled by default. Clean up a buncn of misc. warnings. Signed-off-by: Quincey Koziol <qkoziol@amazon.com>
* Implement optimized support for vector I/O in Subfiling VFD (#3896)jhendersonHDF2023-12-276-1039/+1462
| | | | | | | | | | | | Vector I/O requests are now processed within a single set of I/O call batches, rather than each I/O vector entry (tuple constructed from the types, addrs, sizes and bufs arrays) being processed individually. This allows I/O to be more efficiently parallelized among the I/O concentrator processes during large I/O requests. * Fixed some calculations and add test cases for issues spotted from review * Removed a variable that was compensating for previous miscalculations
* Doc versions (#3903)Gerd Heber2023-12-2112-60/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added missing \since tags to H5D. * Committing clang-format changes * Fixed H5T version info. * Committing clang-format changes * Added missing version info to H5E. * Committing clang-format changes * Added version info to H5F public APIs. * Committing clang-format changes * Added missing H5Z public API version info. * Added missing version info to H5G public APIs * Added missing version info to H5I public API. * Added missing version info to H5 public APIs * Committing clang-format changes * Added missing version info to H5P public APIs * Added missing version info to H5R public APIs * Fix comment error. * Committing clang-format changes --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Remove redundant backslash character from comment. (#3899)H. Joe Lee2023-12-201-1/+1
|
* Fix typo in error message for `MPI_Type_dup`. (#3867)Luc Grosheintz2023-11-221-1/+1
|
* Fix segfault on user compound dtype conversion callback (#3842)mattjala2023-11-221-7/+10
| | | | | | * Fix segfault on user compound conversion * Check if lib conversion func is in use
* Implement selection vector I/O with collective chunk filling (#3826)vchoi-hdfgroup2023-11-162-170/+122
| | | | | | | | | | | | | | | | | * Changes for ECP-344: Implement selection vector I/O with collective chunk filling. Also fix a bug in H5FD__mpio_write_vector() to account for fixed size optimization when computing max address. * Fixes based on PR review comments: For H5Dchunk.c: fix H5MM_xfree() For H5FDmpio.c: 1) Revert the fix to H5FD__mpio_write_vector() 2) Apply the patch from Neil on the proper length of s_sizes reported by H5FD__mpio_vector_build_types() * Put back the logic of dividing up the work among all the mpi ranks similar to the original H5D__chunk_collective_fill() routine. * Add a test to verify the fix for the illegal reference problem in H5FD__mpio_write_vector().
* Change dest for doxygen (#3856)Allen Byrne2023-11-152-5/+5
| | | * Switch doxygen refs to hdf5/develop
* Make filter unregister callbacks safe for VOL connectors (#3629)mattjala2023-11-131-44/+98
| | | | | | | | | | | | * Make filter callbacks use top-level API functions When using VOL connectors, H5I_iterate may not provide valid object pointers to its callback. This change keeps existing functionality in H5Zunregister() without using potentially unsafe pointers. * Filter callbacks use internal API * Skip MPI work on non-native VOL
* Test and document path handling of H5Lcreate_* API (#3829)mattjala2023-11-111-7/+20
|
* Disable FP exceptions in H5T init code (#3837)Dana Robinson2023-11-072-18/+37
| | | | | | | The H5T floating-point datatype initialization code can raise exceptions when handling signaling NaNs. This change disables FE_INVALID exceptions during initialization. Also removes the -ieee=full change for NAG Fortran as that shouldn't be necessary anymore. Fixes #3831
* Rework MPI Info FAPL preserve PR to use VFD 'ctl' operations (#3782)jhendersonHDF2023-11-039-29/+95
|
* Fix misc. warnings from GCC when compiling with -fsanitize=undefined (#3787)jhendersonHDF2023-11-015-7/+9
|
* Remove H5system.c warning on Windows oneAPI. (#3812)H. Joe Lee2023-11-011-2/+1
|
* Fix a couple usages of MPI_Info_get (#3809)jhendersonHDF2023-10-312-4/+4
|
* Update Doxygen initializers & identifiers in VFDs (#3795)Dana Robinson2023-10-3014-52/+163
| | | | | * Add Doxygen for all H5FD_<VFD> initializers * Add Doxygen for all H5FD_<VFD>_VALUE values * Mark H5FD_<vfd>_init() calls private in Doxygen
* Add Doxygen to H5FDsplitter.h (#3794)Dana Robinson2023-10-301-55/+54
| | | | | | | | | * H5FD_CURR_SPLITTER_VFD_CONFIG_VERSION * H5FD_SPLITTER_PATH_MAX * H5FD_SPLITTER_MAGIC * H5FD_splitter_vfd_config_t * H5Pset_fapl_splitter() * H5Pget_fapl_splitter()
* Avoid attempted use of NULL pointer in parallel compression code (#3786)jhendersonHDF2023-10-281-0/+4
| | | The parallel compression test code tests for the case where all MPI ranks have no selection in a dataset when writing to it. Add an early exit to the code to avoid attempting to use a NULL pointer due to there being no work to do.
* Fixed a file handle leak in the core VFD (#3779)Dana Robinson2023-10-261-1/+3
| | | | | | When opening a file with the core VFD and a file image, if the file already exists, the file check would leak the POSIX file handle. Fixes GitHub issue #635
* Fix typo in comment (#3775)tbeu2023-10-261-1/+1
|
* Preserve MPI-I/O file hints when fapl is closed (#3755)vchoi-hdfgroup2023-10-252-5/+19
| | | * Fix for issue #3025: Save the MPI info in the file struct so H5Fget_access_plist() can retrieve it from there.
* Fix H5Pset_evict_on_close failing regardless of actual parallel use (#3761)Glenn Song2023-10-242-8/+17
| | | | | Allow H5Pset_evict_on_close to be called regardless of whether a parallel build of HDF5 is being used Fail during file opens if H5Pset_evict_on_close has been set to true on the given File Access Property List and the size of the MPI communicator being used is greater than 1
* Fix some issues with collective metadata reads for chunked datasets (#3716)jhendersonHDF2023-10-249-624/+1252
| | | | | | | | | | Add functions/callbacks for explicit control over chunk index open/close Add functions/callbacks to check if chunk index is open or not so that it can be opened if necessary before temporarily disabling collective metadata reads in the library Add functions/callbacks for requesting loading of additional chunk index metadata beyond the chunk index itself
* Fix hangs during collective I/O with independent metadata writes (#3693)jhendersonHDF2023-10-242-5/+35
|
* Bump the ros3 VFD cache to 16 MiB (#3759)Dana Robinson2023-10-241-1/+1
|
* Add a simple cache to the ros3 VFD (#3753)Dana Robinson2023-10-231-22/+51
| | | | | | | | | Adds a small cache of the first N bytes of a file opened with the read-only S3 (ros3) VFD, where N is 4kiB or the size of the file, whichever is smaller. This avoids a lot of small I/O operations on file open. Addresses GitHub issue #3381
* Fix buffer overflow in cache debugging code (#3691)jhendersonHDF2023-10-231-20/+84
|
* Add native VOL checks to deprecated functions (#3647)mattjala2023-10-232-58/+145
| | | | | | | * Add native VOL checks to deprecated functions * Remove unneeded native VOL checks * Move native checks to top level calls
* Additional update to the library version matrix for H5Pset_libver_bounds() ↵bmribler2023-10-221-145/+87
| | | | | (#3742) This is the follow-up of PR #3702.
* Update the library version matrix for H5Pset_libver_bounds() (#3702)bmribler2023-10-201-20/+288
| | | | | | | * Fixed #3524 Added 1.12, 1.14, and 1.16 to the table for libver bounds in the H5Pset_libver_bounds docs.
* Add new API function H5Pget_actual_select_io_mode() (#2974)Neil Fortner2023-10-207-46/+362
| | | This function allows the user to determine if the library performed selection I/O, vector I/O, or scalar (legacy) I/O during the last HDF5 operation performed with the provided DXPL. Expanded existing tests to check this functionality.
* Clean up comments. (#3695)H. Joe Lee2023-10-181-41/+35
|
* Sync changes that are only in 1.14 branch (#3704)jhendersonHDF2023-10-181-0/+1
|
* Fix unused variable warning in H5F_sfile_assert_num (#3700)Dana Robinson2023-10-171-6/+9
|
* Initialize API context MPI types to MPI_BYTE (#3688)jhendersonHDF2023-10-171-0/+5
|
* Add Doxygen for H5Pset_fapl_sec2() (#3685)Dana Robinson2023-10-161-1/+17
| | | *
* Fix invalid memory access in S3 comms (#3681)Dana Robinson2023-10-161-1/+2
| | | | | | | | | In the ros3 VFD, passing an empty string parameter to an internal API call could result in accessing the -1th element of a string. This would cause failures on big-endian systems like s390x. This parameter is now checked before writing to the string. Fixes GitHub #1168
* Suppress MPI_Waitall warnings w/ MPICH (#3680)Dana Robinson2023-10-162-9/+19
| | | | | | | | | MPICH defines MPI_STATUSES_IGNORE (a pointer) to 1, which raises warnings w/ gcc. This is a known issue that the MPICH devs are not going to fix. See here: https://github.com/pmodels/mpich/issues/5687 This fix suppresses those issues w/ gcc
* Remove CANBE_UNUSED() from subfiling VFD (#3678)Dana Robinson2023-10-163-8/+6
| | | | | This macro was an attempt to quiet warnings about release mode unused variables that only appear in asserts. It resolves to a void cast, which doesn't quiet warnings when an assignment has already taken place.
* Fix a strncpy call to use dest size not src (#3677)Dana Robinson2023-10-151-19/+22
| | | | | | | A strncpy call in a path construction call used the size of the src buffer instead of the dest buffer as the limit n. This was switched to use the dest size and properly terminate the string if truncation occurs.
* Remove clang warnings (#3656)H. Joe Lee2023-10-131-2/+2
|
* Add more tests for selection I/O. (#3528)vchoi-hdfgroup2023-10-101-1/+1
|
* Update parallel compression feature to support multi-dataset I/O (#3591)jhendersonHDF2023-10-1011-802/+1408
|