Version 2.4.0
The PIO team is pleased to release version 2.4.0 of the PIO library. This release includes a build system improvements, performance improvements, bug fixes, and more tests. Get the latest release from the PIO GitHub site: https://github.com/NCAR/ParallelIO.
What is PIO?
The Parallel IO library (PIO) is a high-level parallel I/O C/Fortran library for structured grid applications. 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
Performance Improvements
This release contains the following performance improvements:
- skip creating an MPI derived datatype if a request is contiguous
Autotools Build System Improvements
The autotools build system is independent from the CMake build system. It builds and tests the C library only. Fortran users should continue to use the CMake build system.
In this release the autotools build system was improved:
- Now builds examples.
Bug fixes
- Fixed fill value bug.
- Fixed use of NULL in nc_put_vars_*() which causes segfaults with netCDF 4.6.2.
More Tests
This release includes more testing of:
- Fill values.
- Async darray functions.
Required Libraries
This release requires:
- netcdf-4.5.0 or newer.
- 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 is required. Previous versions of HDF5 have a bug in parallel collective I/O which is triggered by a PIO unit test.