Skip to content

Commit

Permalink
Sync develop changes March 28 - April 1 to 1 14 (#4297)
Browse files Browse the repository at this point in the history
* Relaxed behavior of H5Pset_page_buffer_size() when opening files (#4280)

This API call sets the size of a file's page buffer cache. This call
was extremely strict about matching its parameters to the file strategy
and page size used to create the file, requiring a separate open of the
file to obtain these parameters.

These requirements have been relaxed when using the fapl to open
a previously-created file:

* When opening a file that does not use the H5F_FSPACE_STRATEGY_PAGE
  strategy, the setting is ignored and the file will be opened, but
  without a page buffer cache. This was previously an error.

* When opening a file that has a page size larger than the desired
  page buffer cache size, the page buffer cache size will be increased
  to the file's page size. This was previously an error.

The behavior when creating a file using H5Pset_page_buffer_size() is
unchanged.

Fixes GitHub issue #3382

* chore: improve error message (#4287)

close #192

* changed to if string contains instead (#4286)

* Fix off_t straggers (#4291)

Convert off_t to HDoff_t (mainly for Windows):

* h5jam
* h5unjam
* chunk_info test

* Add missing foreach for VFD and Pasthrough runs (#4292)

* Fixes for file format security issues (#4283)

* Add configure options for disabling extension features (#4277)

Add configure option to enable or disable extension features in general

Add configure option to enable or disable _Float16 support

Add new config options to various settings files

* Add documentation (H5FD) (#4269)

* Use AOCC 4.2 and OpenMPI 4.1.6 (#4290)

* Fix problems with background buffers and array datatypes (#4218)

* Fix bug in array conversion with strided background buffer. Convert some
memmove calls to non-overlapping buffers to memcpy.

* Revert inappropriate use of mempy to memmove in H5T__conv_array

* Add testing

* Add RELEASE.txt note and overwrite test case.

* Synch workflows and require apt-get update (#4294)

* Fix Figure 9. table format in HDF5 Groups User Guide (#4295)

---------

Co-authored-by: Dana Robinson <[email protected]>
Co-authored-by: H. Joe Lee <[email protected]>
Co-authored-by: Scot Breitenfeld <[email protected]>
Co-authored-by: Allen Byrne <[email protected]>
Co-authored-by: jhendersonHDF <[email protected]>
Co-authored-by: bmribler <[email protected]>
Co-authored-by: Neil Fortner <[email protected]>
  • Loading branch information
8 people authored Apr 1, 2024
1 parent dded937 commit 9f7b987
Show file tree
Hide file tree
Showing 75 changed files with 1,902 additions and 863 deletions.
46 changes: 23 additions & 23 deletions .github/workflows/aocc-auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,43 +28,43 @@ jobs:
sudo apt install -y zlib1g-dev libcurl4-openssl-dev libjpeg-dev wget curl bzip2
sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential
- name: Install AOCC 4.1.0
- name: Install AOCC 4.2.0
shell: bash
run: |
wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar
tar -xvf aocc-compiler-4.1.0.tar
cd aocc-compiler-4.1.0
wget https://download.amd.com/developer/eula/aocc/aocc-4-2/aocc-compiler-4.2.0.tar
tar -xvf aocc-compiler-4.2.0.tar
cd aocc-compiler-4.2.0
bash install.sh
source /home/runner/work/hdf5/hdf5/setenv_AOCC.sh
which clang
which flang
clang -v
- name: Cache OpenMPI 4.1.5 installation
id: cache-openmpi-4_1_5
- name: Cache OpenMPI 4.1.6 installation
id: cache-openmpi-4_1_6
uses: actions/cache@v4
with:
path: /home/runner/work/hdf5/hdf5/openmpi-4.1.5-install
key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_5-cache
path: /home/runner/work/hdf5/hdf5/openmpi-4.1.6-install
key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_6-cache

- name: Install OpenMPI 4.1.5
if: ${{ steps.cache-openmpi-4_1_5.outputs.cache-hit != 'true' }}
- name: Install OpenMPI 4.1.6
if: ${{ steps.cache-openmpi-4_1_6.outputs.cache-hit != 'true' }}
run: |
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/usr/local/lib
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz
tar zxvf openmpi-4.1.5.tar.gz
cd openmpi-4.1.5
./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib:/usr/local/lib
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.gz
tar zxvf openmpi-4.1.6.tar.gz
cd openmpi-4.1.6
./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install
make
make install
- name: Autotools Configure
env:
NPROCS: 2
run: |
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib
export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib
export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/bin:/usr/local/bin:$PATH
sh ./autogen.sh
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
Expand All @@ -73,30 +73,30 @@ jobs:
--enable-build-mode=${{ inputs.build_mode }} \
--enable-shared \
--enable-parallel \
LDFLAGS="-L/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib \
-L/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib"
LDFLAGS="-L/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib \
-L/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib"
- name: Autotools Build
shell: bash
env:
NPROCS: 2
run: |
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/bin:/usr/local/bin:$PATH
make -j3
working-directory: ${{ runner.workspace }}/build

- name: Autotools Run Tests
env:
NPROCS: 2
run: |
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/bin:/usr/local/bin:$PATH
make check -j
working-directory: ${{ runner.workspace }}/build

- name: Autotools Install
env:
NPROCS: 2
run: |
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/bin:/usr/local/bin:$PATH
make install
working-directory: ${{ runner.workspace }}/build
36 changes: 18 additions & 18 deletions .github/workflows/aocc-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,42 +28,42 @@ jobs:
sudo apt install -y zlib1g-dev libcurl4-openssl-dev libjpeg-dev wget curl bzip2
sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential
- name: Install AOCC 4.1.0
- name: Install AOCC 4.2.0
shell: bash
run: |
wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar
tar -xvf aocc-compiler-4.1.0.tar
cd aocc-compiler-4.1.0
wget https://download.amd.com/developer/eula/aocc/aocc-4-2/aocc-compiler-4.2.0.tar
tar -xvf aocc-compiler-4.2.0.tar
cd aocc-compiler-4.2.0
bash install.sh
source /home/runner/work/hdf5/hdf5/setenv_AOCC.sh
which clang
which flang
clang -v
- name: Cache OpenMPI 4.1.5 installation
id: cache-openmpi-4_1_5
- name: Cache OpenMPI 4.1.6 installation
id: cache-openmpi-4_1_6
uses: actions/cache@v4
with:
path: /home/runner/work/hdf5/hdf5/openmpi-4.1.5-install
key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_5-cache
path: /home/runner/work/hdf5/hdf5/openmpi-4.1.6-install
key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_6-cache

- name: Install OpenMPI 4.1.5
if: ${{ steps.cache-openmpi-4_1_5.outputs.cache-hit != 'true' }}
- name: Install OpenMPI 4.1.6
if: ${{ steps.cache-openmpi-4_1_6.outputs.cache-hit != 'true' }}
run: |
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/usr/local/lib
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz
tar zxvf openmpi-4.1.5.tar.gz
cd openmpi-4.1.5
./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib:/usr/local/lib
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.gz
tar zxvf openmpi-4.1.6.tar.gz
cd openmpi-4.1.6
./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install
make
make install
- name: CMake Configure
shell: bash
run: |
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib
export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib
export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib
export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/bin:/usr/local/bin:$PATH
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
CC=mpicc cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja \
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/cmake-bintest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install CMake Dependencies (Linux)
run: sudo apt-get install ninja-build doxygen graphviz
run: |
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
- name: Set up JDK 19
uses: actions/setup-java@v4
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/cmake-ctest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install CMake Dependencies (Linux)
run: sudo apt-get install ninja-build graphviz
run: |
sudo apt-get update
sudo apt-get install ninja-build graphviz
- name: Install Dependencies
uses: ssciwr/doxygen-install@v1
Expand Down Expand Up @@ -330,8 +332,9 @@ jobs:
steps:
- name: Install CMake Dependencies (Linux S3)
run: |
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
- name: Set file base name (Linux S3)
id: set-file-base
Expand Down Expand Up @@ -493,7 +496,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install CMake Dependencies (Linux_intel)
run: sudo apt-get install ninja-build graphviz
run: |
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
- name: Install Dependencies
uses: ssciwr/doxygen-install@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/intel-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Install Dependencies (Linux)
shell: bash
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/julia-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Install Dependencies
shell: bash
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install -y libaec-dev zlib1g-dev wget curl bzip2 flex bison cmake libzip-dev openssl build-essential
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main-auto-par-spc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main-auto-par.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/main-auto-spc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -89,7 +89,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -150,7 +150,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -211,7 +211,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -272,7 +272,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -333,7 +333,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -394,7 +394,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -457,7 +457,7 @@ jobs:
# libssl, etc. are needed for the ros3 VFD
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main-auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main-cmake-par.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:

- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/main-cmake-spc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down Expand Up @@ -146,7 +146,7 @@ jobs:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ jobs:

- name: Install CMake Dependencies (Linux)
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nvhpc-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Install Dependencies
shell: bash
run: |
sudo apt update
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install -y libaec-dev zlib1g-dev wget curl bzip2 flex bison cmake libzip-dev openssl build-essential
Expand Down
Loading

0 comments on commit 9f7b987

Please sign in to comment.