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