Darshan is a scalable HPC I/O characterisation tool. It can record what files are generated by an MPI program, over what timescale and with what type of I/O, e.g. large or small writes. To help with understanding codes doing parallel I/O, such as MPI-IO, it breaks the information down by both rank and file.

This page is a tour of some of the functionality – please see the website for more details:


Basic usage

Before using, please execute the following to make the software available:

module add darshan

Instrument a program by configuring a directory for the profile to be created in and launching it from a job script with:

export DARSHAN_LOGDIR=`pwd`
env LD_PRELOAD=$DARSHAN_HOME/lib/libdarshan.so mpirun 

There are various other environment variables able to be set, please see the project website for more details.

After the application has finished running, there will be a *.darshan.gz file in the directory specified in DARSHAN_LOGDIR . This files has a record all the I/O activity by the application.

Useful commands:

Task Command
Generate a pdf summary darshan-job-summary.pl <darshan file>
Generate a pdf summary of each file recorded darshan-job-summary-per-file.sh <darshan file> <output dir>
Generate a text summary darshan-parser <darshan file>
List files recorded darshan-parser –file-list <darshan file>
Create new darshan file with the data for a single file darshan-convert –file <HASH> <darshan file>