Skip to content

Version 2.5.2

Compare
Choose a tag to compare
@edwardhartnett edwardhartnett released this 16 Sep 13:26
6f9fb5e

The PIO team is pleased to release version 2.5.2 of the PIO library. This release includes enhanced netCDF integration, new API functions, documentation improvements, bug fixes, and more tests. Get the latest release from: https://github.com/NCAR/ParallelIO/releases/download/pio2_5_2/pio-2.5.2.tar.gz

See https://ncar.github.io/ParallelIO/ for documentation.

What is PIO?

The Parallel IO libraries (PIO) are high-level parallel I/O C and Fortran libraries for applications that need to do netCDF I/O from large numbers of processors on a HPC system.

PIO provides a netCDF-like API, and allows users to designate some subset of processors to perform IO. Computational code calls netCDF-like functions to read and write data, and PIO uses the IO processors to perform all necessary IO.

PIO also supports the creation of multiple computation components, each containing many processors, and one shared set of IO processors. The computational components can perform write operation asynchronously, and the IO processors will take care of all storage interaction.

See the PIO web site for more information: http://ncar.github.io/ParallelIO/

New This Release

  • Fix for bug appending to an existing file with PIO. (See #1670)
  • Testing on GitHub actions. (See #1675)
  • Inclusion of a build summary for autotools and cmake builds, and a pio_meta.h file which contains info about the PIO build. (See #1658)
  • Starting with netcdf-c-4.7.4 and HDF5-1.10.4, zlib compression may be used with the NETCDF4P IOTYPE (that is, with parallel I/O netCDF/HDF5 files). (See #1642).
  • Fixes for Fortran API functions PIO_def_var_chunking/PIO_inq_var_chunking. (See #1740 and #1739).
  • Clean up handling of pre-processor defines, especially in CMake build. (See #1721 and #1686).
  • Added --with-mpiexec option to configure (and WITH_MPIEXEC to CMake) to allow user to set mpiexec command used in testing. This is useful on openmpi, which requires the --oversubscribe argument. (See #1732)
  • We started using GitHub actions for testing, and testing with OpenMPI. (See #1675 and #906)
  • Improvements to the Fortran documentation. (See #1745).
  • Removed obsolete and no longer used bget memory optimization code. (See #1371).

Required Libraries

We recommend always using the latest releases of netCDF and pnetcdf.

This release requires:

  • netcdf-4.6.1 or newer. 4.7.3 or newer is required if --enable-netcdf-integration is used.
  • pnetcdf-1.9.0 or newer (unless PIO is built without pnetcdf support).
  • If netCDF is built with HDF5 support, then HDF5-1.10.4 or newer is required. Previous versions of HDF5 have a bug in parallel collective I/O which is triggered by a PIO unit test.