Darshan 3.2.0 is now available for download here.
This release contains a number of new features, bug fixes, and other changes to Darshan. Some of the more notable changes that may be of interest to users:
- Added detailed instrumentation of HDF5 file (H5F) and dataset (H5D) interfaces.
- Must be explicitly enabled by passing “–enable-hdf5-mod=/path/to/hdf5/install” when configuring Darshan.
- Due to ABI incompatibility from HDF5 version 1.8.x -> 1.10.x, special care must be taken to ensure users do not link applications with HDF5 versions that are incompatible with the version the Darshan library was built with (i.e., both HDF5 library versions must be either >=1.10 or <1.10). Using two incompatible HDF5 versions will lead to either link or runtime failures.
- Support only intended for HDF5 versions 1.8.0+.
- Added new feature allowing for instrumentation of non-MPI applications.
- Darshan no longer strictly requires that instrumented applications use MPI, extending coverage to a breadth of new contexts.
- Note that this feature is only functional in dynamic linking use cases.
- Thanks to Glenn Lockwood (NERSC) for his help in implementing/testing this feature.
- Added MPI-IO offset information to Darshan’s DXT tracing mechanism.
- Updated Darshan compiler wrappers and Cray software modules to transparently and uniformly support dynamic and static linking cases. These methods previously only supported static linking uses cases.
- Re-implemented Darshan’s PMPI/MPI wrappers to help avoid deadlock with other monitoring tools that rely on PMPI.
- Added new “–log-path” option to darshan-config utility to allow users to more easily query the directory Darshan logs are stored in.
Please review darshan-runtime and darshan-util documentation for more details on the new HDF5 instrumentation module and the experimental non-MPI instrumentation mechanism. Additionally, consult the ChangeLog in the top-level of the source for a full list of changes associated with this release.
Note that we are currently aware of and looking into a couple of issues related to Lustre file systems that have been reported by Darshan users:
- Crashes in Darshan’s Lustre module in newer Lustre versions (2.11.x in one reported case). Typically results in additional errors stating: “using old ioctl(LL_IOC_LOV_GETSTRIPE)”.
- If you experience this problem with Darshan, a temporary workaround would be to just disable the Lustre module — this can only be done at configure time by passing “–disable-lustre-mod”.
- Floating point exceptions or other warnings related to dividing by zero when writing Darshan log to a Lustre file system (at Darshan shutdown time).
- We are still working out what combinations of MPI and Lustre libraries exhibit this problem, but a simple workaround in the time being is to run the command “export DARSHAN_LOGHINTS=” before running your application.
We hope to resolve these bugs quickly and intend to release an updated version of Darshan once they are.