Tools and libraries I’ve released as open source.
A flexible package manager designed to support multiple versions, configurations, platforms, and compilers. Provides a simple expression langauge to simplify the task of configuring HPC software.GitHub Docs
Cram runs many small MPI jobs within a single, large MPI job by virtualizing its MPI operations. Cram has been used to run 1.5 million concurrent MPI jobs on LLNL’s Sequoia machine.GitHub Site
Rubik generates MPI task mapping files for structured applications and torus or mesh networks. It applies transforamtions to an application topology to generate the mappings.GitHub Docs
Parallel K-medoids clustering library, used in performance and debugging tools. Implements PAM, CLARA, the CAPEK parallel clustering algorithm, and an MPI-parallel Bayesian Information Criterion (BIC) calculation.GitHub Docs
Library for representing, transferring, and analyzing stack traces scalably in distributed applications.GitHub
Parallel wavelet transform and EZW compression library.GitHub
Records per-process, per-timestep PAPI performance counter values. Saves them in an HDF5 file using parallel I/O. Think of this as a checkpointing library for basic performance data.GitHub