darshan-3.4.0-pre1 release is now available

We are pleased to announce a pre-release version of Darshan 3.4.0 (3.4.0-pre1) is now available HERE. As always, please be aware that Darshan pre-releases are experimental and not recommended for full-time use in production yet. An official 3.4.0 release will be made available soon.

This release contains a number of exciting new features and enhancements to Darshan:

  • Added new heatmap module to record per-process histograms of I/O activity over time for POSIX, MPI-IO, and STDIO modules
  • Added comprehensive darshan-runtime library configuration support, via environment variables and/or configuration file
  • Implemented performance optimizations to Darshan’s wrappers, locking mechanisms, and timing mechanisms
    • Includes optional RDTSCP-based timers via ‘–enable-rdtscp’ configure option
  • Removed deprecated performance estimates from darshan-parser and added 2 new derived metrics when using ‘–perf’ :
    • agg_time_by_slowest (total elapsed time performing I/O by the slowest rank)
    • slowest_rank_rw_only_time (total elapsed time performing read/write operations by the slowest rank)
  • Adopted automake/libtool support for Darshan build (contributed by Wei-Keng Liao)
  • Increased default record name memory to 1 MiB per-process to avoid recent user reports of exceeding old limit (256 KiB)

This release also marks our first stable release of the PyDarshan log analysis module, including a new PyDarshan-based job summary tool (ultimately will replace darshan-job-summary script). Users can get PyDarshan directly from PyPI, e.g., using ‘pip install darshan’. Documentation can be found here: https://www.mcs.anl.gov/research/projects/darshan/documentation/

Please report any questions, issues, or concerns with this pre-relase using the darshan-users mailing list, or by opening an issue on our GitHub: https://github.com/darshan-hpc/darshan.

Darshan 3.3.1 point release now available

A new 3.3.1 point release of Darshan is now available for download HERE.

This release contains an important bug fix that resolves dynamic linker errors when using Darshan’s Lustre instrumentation module in conjunction with Darshan’s LD_PRELOAD mechanism for instrumenting applications.

Additionally, this release is the first Darshan release that supports instrumenting non-MPI applications that call fork(), with log files now accurately generated for both the parent process and the child process.

Please report any issues, comments, or questions to us using the Darshan-users mailing list or our GitHub page.

Darshan version 3.3.0 is now available!

Following up on our recent pre-releases, a new stable release of Darshan 3.3.0 is now available for download. You can get it HERE.

In addition to the new features and bug fixes introduced in 3.3.0 pre-releases, this release marks the first Darshan version with AutoPerf support. AutoPerf implements two additional Darshan instrumentation modules that can provide details on application MPI communication usage and application performance characteristics on Cray XC platforms:

  • APMPI: Instrumentation of over 70 MPI-3 communication routines, providing operation counts, datatype sizes, and timing information for each application MPI rank.
  • APXC: Instrumentation of Cray XC environments to provide network and compute counters of interest, via PAPI.

See darshan-runtime documentation for more details on how to build Darshan with AutoPerf support.

Please report any issues, comments, or questions to us using the Darshan-users mailing list or our GitLab page.

Darshan version 3.3.0-pre2 is now available

We are happy to announce a new pre-release for Darshan 3.3.0 (darshan-3.3.0-pre2). You can download the source HERE.

This release contains a number of new features, bug fixes, and other improvements as detailed below:

  • New PyDarshan Python package for analyzing Darshan log files
    • PyDarshan provides a couple of interfaces to Darshan logs that should allow for easier development of custom Darshan log analysis utilities in Python
    • See the PyDarshan documentation for more details
    • Thanks to Jakob Luettgau (DKRZ) for all of the hard work in contributing this package
  • Bug fixes
    • Modified Lustre module to use a safer method for obtaining Lustre file striping information (based on fgetxattr rather than ioctl)
    • Fixed bug leading to potential deadlock when reducing shared records in MPI programs (known to affect mvapich2)
    • Fixed bug causing errors when using Darshan’s non-MPI mode when Darshan is built with an MPI compiler
    • Disabled DXT’s MPI-IO offset tracking for OpenMPI applications to avoid crashes caused by an OpenMPI bug
    • Fixed various HDF5 module bugs:
      • Fixes for applications using H5S_SELECT_NONE selections resulting in HDF5 error messages
      • Fixes for applications using non-MPIIO VFDs resulting in HDF5 error messages
      • Fixes for potentially incorrect counter values related to common accesses in the H5D module
      • Other fixes allowing usage of the HDF5 modules in serial HDF5 applications
  • Other enhancements
    • Added support for querying Lustre file striping statistics for Lustre files that are symlinked from other file systems
    • Added support for instrumenting openat, preadv, preadv2, pwritev, and pwritev2 functions, improving instrumentation of OpenMPI applications
    • Improved error messages and documentation for darshan-util tools, including handling of incomplete Darshan log files
    • Added new H5D module counter indicating the Darshan record ID of the file an HDF5 dataset belongs to

As always, please report any issues, comments, or questions to us using the Darshan-users mailing list or our GitLab page.