Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor threading and other concurrency support #4469

Merged
merged 330 commits into from
Jul 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
330 commits
Select commit Hold shift + click to select a range
ad24dbf
Clean up test/cmpd_dtransform.c (#4270)
derobins Mar 28, 2024
a3686c4
Fix uninitialized memory issues in packet table (#4271)
derobins Mar 28, 2024
576576f
replace deprecated CMAKE_COMPILER_IS_GNU** (#4272)
byrnHDF Mar 28, 2024
7570f97
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Mar 29, 2024
54ae053
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Mar 30, 2024
574adc8
Add autotools ExpressTest=0 (#4289)
byrnHDF Mar 31, 2024
ff2d77f
Fix off_t straggers (#4291)
derobins Mar 31, 2024
86504eb
Add missing foreach for VFD and Pasthrough runs (#4292)
byrnHDF Apr 1, 2024
f2eaaa7
Fixes for file format security issues (#4283)
jhendersonHDF Apr 1, 2024
af104dd
Add configure options for disabling extension features (#4277)
jhendersonHDF Apr 1, 2024
d2c2f5b
Add documentation (H5FD) (#4269)
bmribler Apr 1, 2024
24fe264
Use AOCC 4.2 and OpenMPI 4.1.6 (#4290)
hyoklee Apr 1, 2024
13cd597
Fix problems with background buffers and array datatypes (#4218)
fortnern Apr 1, 2024
64851bc
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 2, 2024
638cd0a
Prepend MPI_TEST_ to parallel example test names (#4306)
byrnHDF Apr 2, 2024
236ab1b
Report build options of VFDs (#4304)
brtnfld Apr 2, 2024
f1ba7d9
PR merge workflows (#4303)
byrnHDF Apr 2, 2024
3ad7cae
Fix typo - differetly (#4311)
hyoklee Apr 2, 2024
a5c364b
Fix README badges (#4313)
jhendersonHDF Apr 3, 2024
4a6926e
Remove old wait_H5Tinit.cmake file (#4314)
jhendersonHDF Apr 3, 2024
fb4c5fb
Remove VS ptable error from Known Problems (#4317)
hyoklee Apr 3, 2024
ae8fa19
Simply check for datatypes with unusual number of unused bits (#4309)
jhendersonHDF Apr 3, 2024
8ecb657
Fix issues with empty or uninitialized link names (#4322)
jhendersonHDF Apr 4, 2024
39ba3bf
Fix h5py testing failure due to invalid datatype IDs (#4321)
jhendersonHDF Apr 4, 2024
1549190
Revise _Float16 configure checks (#4323)
jhendersonHDF Apr 4, 2024
3bb292e
Remove unnecessary step from REST VOL workflow (#4331)
mattjala Apr 5, 2024
f564046
Fixed dead links in docs (#4334)
bmribler Apr 5, 2024
c0e3aed
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 7, 2024
4188c90
Track the major & minor error codes for the library and avoid incr/de…
qkoziol Apr 8, 2024
414f4e3
Committing clang-format changes
github-actions[bot] Apr 8, 2024
70701f3
Refactor to reduce code duplication
qkoziol Apr 9, 2024
b6e54e0
Committing clang-format changes
github-actions[bot] Apr 9, 2024
2ad02e8
Add VDS and SWMR to documentation (#4336)
bmribler Apr 7, 2024
05d452e
Clean up random number generator code (#4338)
derobins Apr 7, 2024
3ee59a3
Remove the getting started guide (#4339)
derobins Apr 7, 2024
e607c39
Remove noise comment from H5DO.c (#4342)
derobins Apr 8, 2024
548e946
Add note about H5Iregister_type hash_table param (#4345)
derobins Apr 8, 2024
5270d7b
Remove `#undef ERR` from H5private.h (#4346)
derobins Apr 8, 2024
6560397
Add NAMECHECK_ONLY to macro list in .clang-format (#4343)
derobins Apr 8, 2024
a5b3a2f
Remove HD from last non-win32 C89 functions (#4348)
derobins Apr 8, 2024
cac7429
Fix dead links cont. (#4349)
bmribler Apr 8, 2024
70023f0
Fix a typo (#4352)
bmribler Apr 8, 2024
a924711
Fix use of possibly uninitialized memory in h5repack (#4354)
jhendersonHDF Apr 8, 2024
b5357a7
HDrand() -> rand()
qkoziol Apr 9, 2024
107c140
Add VDS and SWMR to documentation (#4336)
bmribler Apr 7, 2024
7fe96c2
Fix dead links cont. (#4349)
bmribler Apr 8, 2024
aaa345f
Fix a typo (#4352)
bmribler Apr 8, 2024
5e7ee2e
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 9, 2024
17e85b6
Match content listing with content. (#4357)
hyoklee Apr 9, 2024
dce1639
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 10, 2024
5957ff0
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 10, 2024
4c7543d
Seperate "have thread package" into new macro (H5_HAVE_THREADS)
qkoziol Apr 10, 2024
2b096b0
Remove static initializer for thread barriers.
qkoziol Apr 10, 2024
b501f12
Committing clang-format changes
github-actions[bot] Apr 10, 2024
fb96805
Update expected error files and scripts to mask off thread ID output
qkoziol Apr 11, 2024
634b018
Correct spelling errors
qkoziol Apr 11, 2024
af24591
Correct warning about r/w lock stats prototypes being missing
qkoziol Apr 11, 2024
042b3b6
Make printf more portable, and quiet warnings
qkoziol Apr 11, 2024
4498a04
Clean up include of H5TSprivate.h header
qkoziol Apr 11, 2024
232c6de
Remove stray pthread mutex static initializer
qkoziol Apr 11, 2024
0842e56
Prefer Windows threads on Win32 builds (over C11) for now
qkoziol Apr 11, 2024
54a5051
Remove unused variable
qkoziol Apr 11, 2024
93c9b61
Committing clang-format changes
github-actions[bot] Apr 11, 2024
cf5827d
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 11, 2024
bb4d8ea
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 11, 2024
24fcc4a
Remove signature in comment (#4366)
hyoklee Apr 11, 2024
30f0983
switched from \returns to commonly used \return (#4389)
brtnfld Apr 12, 2024
5c7542a
Add CXX flags (#4359)
byrnHDF Apr 12, 2024
89ac260
Remove TRACE macros (#4341)
derobins Apr 12, 2024
8b20711
Set available CMake build types for non-multi-config generators (#4330)
jhendersonHDF Apr 12, 2024
d8cf853
Correct the high-level library link (#4398)
bmribler Apr 12, 2024
c7738a2
Update for TRACE script changes
qkoziol Apr 13, 2024
22ccd0c
Committing clang-format changes
github-actions[bot] Apr 13, 2024
b3e4587
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 13, 2024
270bd4b
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
eefdc48
Committing clang-format changes
github-actions[bot] Apr 14, 2024
e90b857
Updates to debug Intel oneAPI builds
qkoziol Apr 14, 2024
c631fc6
Committing clang-format changes
github-actions[bot] Apr 14, 2024
7f74066
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
3c05a91
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
4e49deb
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
07c7ba4
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
08b6d64
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
206fa10
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
8bcb415
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
ae1b509
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
cafdb39
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
15e3e9b
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
0c4c6ba
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
f014f7c
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
7609204
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
c5845a8
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
e89e645
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
5f87627
Committing clang-format changes
github-actions[bot] Apr 14, 2024
c1485c0
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
fd746d0
Committing clang-format changes
github-actions[bot] Apr 14, 2024
dd3cfb8
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
483616f
Committing clang-format changes
github-actions[bot] Apr 14, 2024
1c58c50
Update verbosity to debug Intel oneAPI builds
qkoziol Apr 14, 2024
217edb0
Remove extra verbosity, now that problem is fixed
qkoziol Apr 14, 2024
35bd279
Reduce # of threads and locks for rec. r/w lock test
qkoziol Apr 14, 2024
90fbbee
Correct typos for Win32 threads defs
qkoziol Apr 14, 2024
90d27aa
Committing clang-format changes
github-actions[bot] Apr 14, 2024
0b5c871
Disable checking for C11 threads for now
qkoziol Apr 14, 2024
d56765f
Align portable emulation of thread barriers w/phtread_barrier_*
qkoziol Apr 14, 2024
98ccdd3
Fix typo in Win32 thread code
qkoziol Apr 14, 2024
670c437
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 15, 2024
5c35056
Debug CI failure on Github
qkoziol Apr 15, 2024
bf85898
Debug CI failure on Github
qkoziol Apr 15, 2024
f326d6d
Debug CI failure on Github
qkoziol Apr 16, 2024
bee3f73
Debug CI failure on Github
qkoziol Apr 16, 2024
a6e2b87
Debug CI failure on Github
qkoziol Apr 16, 2024
71f07b0
Debug CI failure on Github
qkoziol Apr 16, 2024
ee3b157
Debug CI failure on Github
qkoziol Apr 16, 2024
9157ac2
Debug CI failure on Github
qkoziol Apr 16, 2024
a2e0b42
Fix error checking for pthread_barrier_wait()
qkoziol Apr 16, 2024
16ae2a5
Committing clang-format changes
github-actions[bot] Apr 16, 2024
4ee962f
Debug CI failure on Github
qkoziol Apr 16, 2024
9115143
Debug CI failure on Github
qkoziol Apr 16, 2024
30bcb6f
Committing clang-format changes
github-actions[bot] Apr 16, 2024
ebd63fe
Debug CI failure on Github
qkoziol Apr 16, 2024
32383de
Restore files after debugging CI failure on Github
qkoziol Apr 16, 2024
0754dc8
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 16, 2024
6219cd5
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 16, 2024
96debb2
Debug CI failure on Github
qkoziol Apr 16, 2024
c5a90f2
Debug CI failure on Github
qkoziol Apr 16, 2024
6732e72
Debug CI failure on Github
qkoziol Apr 16, 2024
5f97bd4
Debug CI failure on Github
qkoziol Apr 17, 2024
a36e14e
Debug CI failure on Github
qkoziol Apr 17, 2024
f340c4e
Debug CI failure on Github
qkoziol Apr 17, 2024
d515fb5
Debug CI failure on Github
qkoziol Apr 17, 2024
7afcdec
Debug CI failure on Github
qkoziol Apr 17, 2024
be65496
Debug CI failure on Github
qkoziol Apr 17, 2024
0bd5b0b
Committing clang-format changes
github-actions[bot] Apr 17, 2024
e3eac4b
Debug CI failure on Github
qkoziol Apr 17, 2024
a0a51ee
Committing clang-format changes
github-actions[bot] Apr 17, 2024
c779414
Debug CI failure on Github
qkoziol Apr 17, 2024
6197e67
Debug CI failure on Github
qkoziol Apr 17, 2024
1f1d473
Debug CI failure on Github
qkoziol Apr 17, 2024
031c27f
Debug CI failure on Github
qkoziol Apr 17, 2024
3153f27
Debug CI failure on Github
qkoziol Apr 17, 2024
29d31a6
Debug CI failure on Github
qkoziol Apr 17, 2024
5598cfd
Debug CI failure on Github
qkoziol Apr 17, 2024
e732266
Fix CXX sanitizer by moving marco include to after CXX code. (#4414)
byrnHDF Apr 17, 2024
27a3c48
Update and use more URL alias (#4413)
byrnHDF Apr 17, 2024
76dde44
Update documentation (#4415)
qkoziol Apr 17, 2024
995e1a3
Remove obsolete file (#4416)
byrnHDF Apr 17, 2024
d293281
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 17, 2024
493df32
Finished debug of CI failures on Github
qkoziol Apr 17, 2024
a13320b
Add missing protection for inclusion in C++ code.
qkoziol Apr 17, 2024
6a9540a
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 18, 2024
f1b305a
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 19, 2024
f07671e
Align w/changes on develop
qkoziol Apr 19, 2024
1d104c9
Switch mirror writer to use internal H5FD*_test() routines
qkoziol Apr 19, 2024
ade0a06
Committing clang-format changes
github-actions[bot] Apr 19, 2024
ba2b8ce
Include correct header file
qkoziol Apr 19, 2024
c750e8c
Fix order of header file inclusion
qkoziol Apr 19, 2024
7523e4f
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 23, 2024
044e424
Fix broken links in VOL API table (#4438)
hyoklee Apr 24, 2024
01080cf
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 24, 2024
410602a
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 25, 2024
e46edd6
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Apr 30, 2024
21372cd
Refactor error handling code to eliminate internal ID calls.
qkoziol May 1, 2024
2a1f435
Committing clang-format changes
github-actions[bot] May 1, 2024
7df5fa1
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 1, 2024
752d5cc
Refactor library messages into individual variables.
qkoziol May 1, 2024
89359a7
Committing clang-format changes
github-actions[bot] May 1, 2024
8323ec7
Disable clang-format for autogenerated error message definitions
qkoziol May 1, 2024
ff3de19
Committing clang-format changes
github-actions[bot] May 1, 2024
66df654
Align w/clang-format's output
qkoziol May 1, 2024
85c09fe
Disable "format-nonliteral" warning from GCC for vasprintf() call
qkoziol May 1, 2024
370cf37
Removed "function/code stack" debugging configure option.
qkoziol May 1, 2024
bfeacb8
Committing clang-format changes
github-actions[bot] May 1, 2024
cafdf01
Remove missed codestack reference
qkoziol May 1, 2024
66fd79d
Add missing H5E headers to CMake and update comment about them in Mak…
qkoziol May 1, 2024
f356738
Fix another place where *vector_was_sorted should have been used
qkoziol May 2, 2024
081c478
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 2, 2024
bc932b2
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 3, 2024
9275e0d
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 3, 2024
f811655
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 7, 2024
288521c
Add new generated error headers to .gitignore
qkoziol May 7, 2024
ac5fbe2
Update H5E__copy_stack_entry() to reflect its actual requirements
qkoziol May 7, 2024
075bf62
Committing clang-format changes
github-actions[bot] May 7, 2024
6945fae
Correct typo
qkoziol May 8, 2024
a995c4b
Remove unused variable
qkoziol May 8, 2024
40a419d
Remove FUNC_*_REENTER and related changes
qkoziol May 8, 2024
418e0c2
Update release notes with the 'threads' option
qkoziol May 8, 2024
1f99106
Update copyright on modified and new files to include NVIDIA
qkoziol May 8, 2024
13a58c2
Committing clang-format changes
github-actions[bot] May 8, 2024
3454441
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 9, 2024
8901843
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 10, 2024
a5c47d8
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 13, 2024
5d9cdc1
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 14, 2024
3dce0d7
Improve spec. reading superblock into cache (a little) by using v2 size
qkoziol May 15, 2024
de64d91
Committing clang-format changes
github-actions[bot] May 15, 2024
fb634e9
Merge branch 'HDFGroup:develop' into develop
qkoziol May 15, 2024
035c85e
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 15, 2024
ca8fa50
Remove NVIDIA copyright line and add line to acknowledgements instead
qkoziol May 16, 2024
1e496a5
Correct naming convention on thread barrier routines
qkoziol May 16, 2024
1f1dd88
Fix FUNC_ENTER macros to match barrier name change
qkoziol May 16, 2024
82fdb82
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 20, 2024
29c55c4
Fix typo & formatting of "NAMECHECK" macros
qkoziol May 20, 2024
94be05a
Committing clang-format changes
github-actions[bot] May 20, 2024
cf0c21e
Try to reformat code
qkoziol May 22, 2024
68d89b4
Committing clang-format changes
github-actions[bot] May 22, 2024
b416cc7
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 23, 2024
99619a7
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 23, 2024
582f1fb
Remove H5TS_NO_THREAD_SAFETY_ANALYSIS macro
qkoziol May 24, 2024
233becb
Add info about concurrency configuration.
qkoziol May 25, 2024
696d18b
Add comment explaining why checking for the C11 thread header is disa…
qkoziol May 25, 2024
8bd45f7
Remove generated error definition files
qkoziol May 25, 2024
75b74b7
Switch H5TS_thread_id() to pass back the ID via a param
qkoziol May 25, 2024
74f57ec
Add 'THREADS' options
qkoziol May 25, 2024
ef0e23a
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 25, 2024
450f978
Committing clang-format changes
github-actions[bot] May 25, 2024
a18aac4
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 28, 2024
d8e9243
Fix subfiling configuratio w/CMake
qkoziol May 28, 2024
d5f7b9e
Move check for MPI_Comm_split_type earlier
qkoziol May 29, 2024
7a92603
Switch error return from H5TS__pool_do to be -1
qkoziol May 30, 2024
15ac3ed
Update number of threads on failure correctly
qkoziol May 30, 2024
d8441aa
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol May 31, 2024
7641fe8
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 3, 2024
8b6a002
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 4, 2024
ec62652
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 5, 2024
7871031
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 6, 2024
d1db8aa
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 7, 2024
ba0ed23
Merge branch 'develop' into threading_updates
derobins Jun 8, 2024
9fbc4dc
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 13, 2024
8d21941
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 17, 2024
9755a27
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 18, 2024
9190f91
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 25, 2024
6eef1a2
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jun 27, 2024
015c029
Committing clang-format changes
github-actions[bot] Jun 27, 2024
218f662
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jul 2, 2024
8ced6e4
Rename routines for acquiring & releasing API mutex
qkoziol Jul 5, 2024
9725b38
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jul 5, 2024
712d4e0
Committing clang-format changes
github-actions[bot] Jul 5, 2024
b2ed8f9
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jul 12, 2024
2cacd25
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jul 15, 2024
67551c6
Fix check for threads in subfiling check
qkoziol Jul 16, 2024
847f473
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jul 16, 2024
8cf564c
Redistribute code between this branch and the non_rec_rwlock branch
qkoziol Jul 17, 2024
0a40eb8
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jul 17, 2024
7778b78
Committing clang-format changes
github-actions[bot] Jul 17, 2024
8c47af8
Remove voidp atomics
qkoziol Jul 17, 2024
92d8ca7
Fix typo
qkoziol Jul 17, 2024
4f8305e
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jul 24, 2024
58c75f3
Yield thread's timeslice when spin-waiting for barrier completion
qkoziol Jul 24, 2024
b2e6e4d
Committing clang-format changes
github-actions[bot] Jul 24, 2024
4414d12
Merge remote-tracking branch 'origin/develop' into threading_updates
qkoziol Jul 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,16 @@ StatementMacros:
- FUNC_ENTER_API
- FUNC_ENTER_API_NAMECHECK_ONLY
- FUNC_ENTER_NOAPI
- FUNC_ENTER_NOAPI_NAMECHECK_ONLY
- FUNC_ENTER_NOAPI_NOERR
- FUNC_ENTER_NOAPI_NOINIT
- FUNC_ENTER_NOAPI_NOINIT_NOERR
- FUNC_ENTER_PACKAGE
- FUNC_LEAVE_API
- FUNC_LEAVE_API_NAMECHECK_ONLY
- FUNC_LEAVE_NOAPI
- FUNC_LEAVE_NOAPI_NAMECHECK_ONLY
- FUNC_LEAVE_NOAPI_VOID_NAMECHECK_ONLY
- FUNC_LEAVE_NOAPI_NOFS
- H5E_END_TRY
- H5E_PRINTF
Expand Down
10 changes: 6 additions & 4 deletions ACKNOWLEDGMENTS
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
Acknowledgments - November 2010
-------------------------------
Acknowledgments
---------------

We would like to thank the following people who have contributed directly
or indirectly to HDF5:

Werner Benger, for contributing code used to add support for the Windows
Werner Benger, for contributing code used to add support for the Windows
Threading library included in the 1.8.6 release.

John A. Biddiscombe, Mike Jackson, and Sean McBride for contributing and
testing CMake code included in the HDF5 1.8.5 distribution.

NVIDIA, for contributing multithreaded concurrency support.

The HDF5 community for helping shape the development of HDF5 by contributing
bug reports and patches, joining in on forum discussions, and continually
supporting our software.

Finally, we'd like to thank all organizations whose funding has made HDF5
Finally, we'd like to thank all organizations whose funding has made HDF5
possible.
104 changes: 52 additions & 52 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -768,6 +768,9 @@ if (HDF5_ENABLE_PARALLEL)
Reading/Writing >2GB of data in a single parallel I/O operation will be disabled.")
set (LARGE_PARALLEL_IO OFF)
endif ()

# Used by Subfiling VFD feature
CHECK_SYMBOL_EXISTS (MPI_Comm_split_type "mpi.h" H5_HAVE_MPI_Comm_split_type)
else ()
message (FATAL_ERROR "Parallel libraries not found")
endif ()
Expand All @@ -781,6 +784,38 @@ if (H5_HAVE_PARALLEL)
endif ()
endif ()

# Determine if a threading package is available on this system
option (HDF5_ENABLE_THREADS "Enable thread support" ON)
set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads)
if (Threads_FOUND)
set (H5_HAVE_THREADS 1)
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})

# Determine which threading package to use
# Comment out check for C11 threads for now, since it conflicts with the
# current --std=c99 compile flags at configuration time. When we switch to
# --std=c11, this can be uncommented.
#CHECK_INCLUDE_FILE("threads.h" HAVE_THREADS_H)
qkoziol marked this conversation as resolved.
Show resolved Hide resolved
if (WIN32)
# When Win32 is available, we use those threads
set (H5_HAVE_WIN_THREADS 1)
elseif (HAVE_THREADS_H)
# When C11 threads are available, those are the top choice
set (H5_HAVE_C11_THREADS 1)
elseif (CMAKE_USE_PTHREADS_INIT)
set (H5_HAVE_PTHREAD_H 1)
else ()
message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ")
endif ()

# Check for compiler support for atomic variables
CHECK_INCLUDE_FILE("stdatomic.h" HAVE_STDATOMIC_H)
if (HAVE_STDATOMIC_H)
set (H5_HAVE_STDATOMIC_H 1)
endif()
endif ()

# Determine whether to build the HDF5 Subfiling VFD
set (H5FD_SUBFILING_DIR ${HDF5_SRC_DIR}/H5FDsubfiling)
set (HDF5_SRC_INCLUDE_DIRS
Expand All @@ -795,57 +830,21 @@ if (HDF5_ENABLE_SUBFILING_VFD)
if (NOT HDF5_ENABLE_PARALLEL)
message (FATAL_ERROR "Subfiling VFD requires a parallel HDF5 build")
else ()
# Check for MPI_Comm_split_type
CHECK_SYMBOL_EXISTS (MPI_Comm_split_type "mpi.h" H5_HAVE_MPI_Comm_split_type)
# Make sure we found MPI_Comm_split_type previously
if (NOT H5_HAVE_MPI_Comm_split_type)
message (FATAL_ERROR "Subfiling VFD requires MPI-3 support for MPI_Comm_split_type")
endif ()
endif ()

if (NOT DEFINED Threads_FOUND)
set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads REQUIRED)
endif ()

# For now, make sure we're using pthreads. Once Subfiling can be
# supported on Windows, we should allow Win32 threads as well
if (NOT ${Threads_FOUND} OR NOT ${CMAKE_USE_PTHREADS_INIT})
message (FATAL_ERROR "Subfiling requires pthreads for system thread library")
# Subfiling requires thread operations
if (NOT Threads_FOUND)
message (FATAL_ERROR "Subfiling requires thread operations support")
endif ()

CHECK_INCLUDE_FILE("stdatomic.h" HAVE_STDATOMIC_H)
if (NOT HAVE_STDATOMIC_H)
message (FATAL_ERROR "Subfiling VFD requires atomic operations support. C11 stdatomic.h NOT available.")
else()
set (H5_HAVE_STDATOMIC_H 1)
endif()

set (H5_HAVE_SUBFILING_VFD 1)
# IOC VFD is currently only built when subfiling is enabled
set (H5_HAVE_IOC_VFD 1)

message (STATUS "Setting up to use Mercury components")
set (H5FD_SUBFILING_MERCURY_DIR ${H5FD_SUBFILING_DIR}/mercury/src/util)
set (HDF5_SRC_INCLUDE_DIRS
${HDF5_SRC_INCLUDE_DIRS}
${H5FD_SUBFILING_MERCURY_DIR}
)
set (CMAKE_REQUIRED_INCLUDES "${H5FD_SUBFILING_MERCURY_DIR}")

# Run some configure checks for the Mercury util files
set (CMAKE_EXTRA_INCLUDE_FILES pthread.h)
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})

check_type_size(PTHREAD_MUTEX_ADAPTIVE_NP PTHREAD_MUTEX_ADAPTIVE_NP_SIZE)
if (HAVE_PTHREAD_MUTEX_ADAPTIVE_NP_SIZE)
set (${HDF_PREFIX}_HAVE_PTHREAD_MUTEX_ADAPTIVE_NP 1)
endif ()

check_symbol_exists(pthread_condattr_setclock pthread.h
${HDF_PREFIX}_HAVE_PTHREAD_CONDATTR_SETCLOCK)

unset (CMAKE_EXTRA_INCLUDE_FILES)
unset (CMAKE_REQUIRED_LIBRARIES)
if(NOT H5_HAVE_SUBFILING_VFD EQUAL 1)
set (HDF5_ENABLE_SUBFILING_VFD OFF CACHE BOOL "Build Parallel HDF5 Subfiling VFD" FORCE)
endif()
Expand Down Expand Up @@ -942,6 +941,13 @@ if (HDF5_ENABLE_THREADSAFE)
message (FATAL_ERROR " **** thread-safety option not supported with static library **** ")
endif ()
endif ()
if (HDF_ENABLE_PARALLEL)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Parallel and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
else ()
message (VERBOSE " **** Allowing unsupported parallel and thread-safety options **** ")
endif ()
endif ()
if (HDF5_BUILD_FORTRAN)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Fortran and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
Expand All @@ -963,19 +969,13 @@ if (HDF5_ENABLE_THREADSAFE)
message (VERBOSE " **** Allowing unsupported HL and thread-safety options **** ")
endif ()
endif ()
if (WIN32)
# When Win32 is available, we use those threads
set (H5_HAVE_WIN_THREADS 1)
else ()
if (NOT H5_HAVE_PTHREAD_H)
message (FATAL_ERROR " **** thread-safe option requires Win32 threads or Pthreads **** ")
endif ()
endif ()
set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads REQUIRED)
if (Threads_FOUND)
set (H5_HAVE_THREADSAFE 1)

# Check for threading package
if (NOT Threads_FOUND)
message (FATAL_ERROR " **** thread-safety option requires a threading package and none was found **** ")
endif ()

set (H5_HAVE_THREADSAFE 1)
endif ()

#-----------------------------------------------------------------------------
Expand Down
46 changes: 36 additions & 10 deletions HDF5Examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,27 +99,53 @@ if (H5_HAVE_PARALLEL)
INCLUDE_DIRECTORIES (${MPI_C_INCLUDE_DIRS})
endif ()

# Determine if a threading package is available on this system
option (HDF5_ENABLE_THREADS "Enable thread support" ON)
set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads)
if (Threads_FOUND)
set (H5_HAVE_THREADS 1)
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})

# Determine which threading package to use
# Comment out check for C11 threads for now, since it conflicts with the
# current --std=c99 compile flags at configuration time. When we switch to
# --std=c11, this can be uncommented.
#CHECK_INCLUDE_FILE("threads.h" HAVE_THREADS_H)
qkoziol marked this conversation as resolved.
Show resolved Hide resolved
if (WIN32)
# When Win32 is available, we use those threads
set (H5_HAVE_WIN_THREADS 1)
elseif (HAVE_THREADS_H)
# When C11 threads are available, those are the top choice
set (H5_HAVE_C11_THREADS 1)
elseif (CMAKE_USE_PTHREADS_INIT)
set (H5_HAVE_PTHREAD_H 1)
else ()
message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ")
endif ()

# Check for compiler support for atomic variables
CHECK_INCLUDE_FILE("stdatomic.h" HAVE_STDATOMIC_H)
if (HAVE_STDATOMIC_H)
set (H5_HAVE_STDATOMIC_H 1)
endif()
endif ()

#-----------------------------------------------------------------------------
# Option to use threadsafe
# Note: Currently CMake only allows configuring of threadsafe on WINDOWS.
#-----------------------------------------------------------------------------
option (HDF_ENABLE_THREADSAFE "Enable Threadsafety" OFF)
# Note that HDF_ENABLE_THREADSAFE is the CMake option for determining
# whether to enable thread-safety in the examples. HDF5_ENABLE_THREADSAFE
# is the CMake option determining whether HDF5 was configured with
# thread-safety enabled.
if (HDF_ENABLE_THREADSAFE AND HDF5_ENABLE_THREADSAFE)
if (WIN32)
set (H5_HAVE_WIN_THREADS 1)
set (H5_HAVE_THREADSAFE 1)
endif ()
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)
# Check for threading package
if (NOT Threads_FOUND)
message (STATUS " **** thread-safe package not found - threads still might work **** ")
message (FATAL_ERROR " **** thread-safety option requires a threading package and none was found **** ")
endif ()
set (H5EX_HDF5_LINK_LIBS ${H5EX_HDF5_LINK_LIBS} Threads::Threads)

set (H5_HAVE_THREADSAFE 1)
endif ()

set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES
Expand Down
2 changes: 0 additions & 2 deletions config/clang-warnings/error-general
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@
# Here is a list of tests and examples that have issues with the stricter warnings as error
#
# NOTE: Test files are not compatible with these warnings as errors
# thread_id.c,
# -Werror=unused-function
# dsets.c
# -Werror=unused-parameter
#
Expand Down
8 changes: 1 addition & 7 deletions config/cmake/ConfigureChecks.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,7 @@ if (MINGW OR NOT WINDOWS)
foreach (other_test
HAVE_ATTRIBUTE
HAVE_BUILTIN_EXPECT
SYSTEM_SCOPE_THREADS
PTHREAD_BARRIER
HAVE_SOCKLEN_T
)
HDF_FUNCTION_TEST (${other_test})
Expand Down Expand Up @@ -582,12 +582,6 @@ if (MINGW OR NOT WINDOWS)
endif ()
endif ()

# Check for clock_gettime() CLOCK_MONOTONIC_COARSE
set (CMAKE_EXTRA_INCLUDE_FILES time.h)
check_type_size(CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC_COARSE_SIZE)
if (HAVE_CLOCK_MONOTONIC_COARSE_SIZE)
set (${HDF_PREFIX}_HAVE_CLOCK_MONOTONIC_COARSE 1)
endif ()
unset (CMAKE_EXTRA_INCLUDE_FILES)

#-----------------------------------------------------------------------------
Expand Down
20 changes: 8 additions & 12 deletions config/cmake/H5pubconf.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,6 @@
/* Define to 1 if you have the `clock_gettime' function. */
#cmakedefine H5_HAVE_CLOCK_GETTIME @H5_HAVE_CLOCK_GETTIME@

/* Define to 1 if CLOCK_MONOTONIC_COARSE is available */
#cmakedefine H5_HAVE_CLOCK_MONOTONIC_COARSE @H5_HAVE_CLOCK_MONOTONIC_COARSE@

/* Define to 1 if you have the <curl/curl.h> header file. */
#cmakedefine H5_HAVE_CURL_CURL_H @H5_HAVE_CURL_H@

Expand Down Expand Up @@ -261,11 +258,8 @@
/* Define to 1 if you have the <pthread.h> header file. */
#cmakedefine H5_HAVE_PTHREAD_H @H5_HAVE_PTHREAD_H@

/* Define to 1 if 'pthread_condattr_setclock()' is available */
#cmakedefine H5_HAVE_PTHREAD_CONDATTR_SETCLOCK @H5_HAVE_PTHREAD_CONDATTR_SETCLOCK@

/* Define to 1 if PTHREAD_MUTEX_ADAPTIVE_NP is available */
#cmakedefine H5_HAVE_PTHREAD_MUTEX_ADAPTIVE_NP @H5_HAVE_PTHREAD_MUTEX_ADAPTIVE_NP@
/* Define to 1 if the compiler supports the pthread_barrier_*() routines */
#cmakedefine H5_HAVE_PTHREAD_BARRIER @H5_HAVE_PTHREAD_BARRIER@

/* Define to 1 if you have the <pwd.h> header file. */
#cmakedefine H5_HAVE_PWD_H @H5_HAVE_PWD_H@
Expand Down Expand Up @@ -325,6 +319,9 @@
/* Define to 1 if the compiler supports the __builtin_expect() extension */
#cmakedefine H5_HAVE_BUILTIN_EXPECT @H5_HAVE_BUILTIN_EXPECT@

/* Define if we have thread support */
# cmakedefine H5_HAVE_THREADS @H5_HAVE_THREADS@

#if defined(_WIN32) && !defined(H5_BUILT_AS_DYNAMIC_LIB)
/* Not supported on WIN32 platforms with static linking */
/* #undef H5_HAVE_THREADSAFE */
Expand Down Expand Up @@ -360,6 +357,9 @@
/* Define to 1 if you have Win32 threads */
#cmakedefine H5_HAVE_WIN_THREADS @H5_HAVE_WIN_THREADS@

/* Define to 1 if you have C11 threads */
#cmakedefine H5_HAVE_C11_THREADS @H5_HAVE_C11_THREADS@

/* Define if your system has Windows-style path name. */
#cmakedefine H5_HAVE_WINDOW_PATH @H5_HAVE_WINDOW_PATH@

Expand Down Expand Up @@ -589,10 +589,6 @@
/* Define if strict file format checks are enabled */
#cmakedefine H5_STRICT_FORMAT_CHECKS @H5_STRICT_FORMAT_CHECKS@

/* Define if your system supports pthread_attr_setscope(&attribute,
PTHREAD_SCOPE_SYSTEM) call. */
#cmakedefine H5_SYSTEM_SCOPE_THREADS @H5_SYSTEM_SCOPE_THREADS@

/* Define using v1.6 public API symbols by default */
#cmakedefine H5_USE_16_API_DEFAULT @H5_USE_16_API_DEFAULT@

Expand Down
6 changes: 6 additions & 0 deletions config/cmake/HDF5DeveloperBuild.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,12 @@ if (HDF5_ENABLE_DEBUG_H5FS_ASSERT)
list (APPEND HDF5_DEBUG_APIS H5FS_DEBUG_ASSERT)
endif ()

option (HDF5_ENABLE_DEBUG_H5TS "Enable debugging of H5TS module" OFF)
mark_as_advanced (HDF5_ENABLE_DEBUG_H5TS)
if (HDF5_ENABLE_DEBUG_H5TS)
list (APPEND HDF5_DEBUG_APIS H5TS_DEBUG)
endif ()

# If HDF5 free list debugging wasn't specifically enabled, disable
# free lists entirely for developer build modes, as they can
# make certain types of issues (like references to stale pointers)
Expand Down
10 changes: 4 additions & 6 deletions config/cmake/HDFTests.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,23 +64,21 @@ SIMPLE_TEST(timezone = 0);

#endif /* HAVE_TIMEZONE */

#ifdef SYSTEM_SCOPE_THREADS
#include <stdlib.h>
#ifdef PTHREAD_BARRIER
#include <pthread.h>

int main(void)
{
pthread_attr_t attribute;
pthread_barrier_t barr;
int ret;

pthread_attr_init(&attribute);
ret = pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM);
ret = pthread_barrier_init(&barr, NULL, 1);
if (ret == 0)
return 0;
return 1;
}

#endif /* SYSTEM_SCOPE_THREADS */
#endif /* PTHREAD_BARRIER */

#ifdef HAVE_SOCKLEN_T

Expand Down
1 change: 1 addition & 0 deletions config/cmake/hdf5-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ set (${HDF5_PACKAGE_NAME}_INSTALL_MOD_FORTRAN "@HDF5_INSTALL_MOD_FORTRAN@")
set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @H5_ENABLE_SHARED_LIB@)
set (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS @H5_ENABLE_STATIC_LIB@)
set (${HDF5_PACKAGE_NAME}_ENABLE_THREADS @HDF5_ENABLE_THREADS@)
set (${HDF5_PACKAGE_NAME}_ENABLE_THREADSAFE @HDF5_ENABLE_THREADSAFE@)
set (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@)
set (${HDF5_PACKAGE_NAME}_DEFAULT_API_VERSION "@DEFAULT_API_VERSION@")
Expand Down
Loading
Loading