Darshan is a scalable HPC I/O characterization tool designed to capture an accurate picture of application I/O behavior, including properties such as patterns of access within files, with minimum overhead.
Darshan was originally developed on the IBM Blue Gene series of computers deployed at the Argonne Leadership Computing Facility, but it is portable across a wide variety of platforms include the Cray XE6, Cray XC30, and Linux clusters.
Current Version
The current version of Darshan running on SeaWulf is 3.1.4. To make use of Darshan utilities load the following modules:
module load darshan/3.1.4
Compiling for Darshan
Darshan is currently configured on SeaWulf for the mpicc compiler. Here is an example of compiling a program to work with Darshan:
module load mvapich2/gcc/64/2.2rc1 mpicc -o my_prog my_prog.c -lm
Submitting Jobs with Darshan
In order to prevent Darshan and MPI symbols from being pulled into unrelated binaries by exporting LD_PRELOAD, you must set the LD_PRELOAD variable whenever you execute a program. The following Slurm job script is an example of how you would do so:
#!/bin/bash #SBATCH --nodes=2 #SBATCH --ntasks-per-node=28 #SBATCH --time=05:00 #SBATCH --job-name darshan_example #SBATCH -p short-28core module load shared module load mvapich2/gcc/64/2.2rc1 cd $HOME mpiexec -n 2 -env LD_PRELOAD /gpfs/software/darshan/darshan-3.1.4/darshan-runtime/lib/libdarshan.so ./my_prog
Log Files
Darshan log files are stored at the following location, in sub-directories based on the date of execution:
/gpfs/software/darshan/darshan-3.1.4/darshan-logs
For more information, visit: http://www.mcs.anl.gov/research/projects/darshan/documentation/