Skip to content

Version 2.5.0

Compare
Choose a tag to compare
@edhartnett edhartnett released this 27 Nov 22:33
751ff3d

The PIO team is pleased to release version 2.5.0 of the PIO library. This release includes 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_0/pio-2.5.0.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

NetCDF Integration

When built with version 4.7.3 or later of netcdf-c, the PIO library now allows close integration with netCDF, allowing netCDF API code to be used instead of the PIOc_* functions. This allows legacy codes to be easily converted to use PIO. See #1555.

read_darray() Implemented for Async Mode

The PIOc_read_darray() function has been implemented in async mode. See #1601

Bug fixes

The header file pio.h used to use some ifdefs based on pre-processor macros defined in config.h, but it does not, and cannot include config.h. These definitions have been moved to pio_internal.h (see #1609

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 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.