Ninja (Noise INJection Agent)
is a smart network noise injector for quickly exposing unintended MPI message
races.
Ninja
uses innovative network noise injection techniques to increase the chances of
racy, incorrect MPI message matching within the target
MPI application.
Ninja
has been shown to reproduce unsafe message races consistently within large
production applications and can do this up to two orders of magnitude faster
than the traditional testing approach (i.e., random noise injection).
Ninja is open-source software and can be obtained on GitHub .
Ninja maintains an up-to-date package in the Spack develop branch, which builds all dependencies and Ninja itself. To install via Spack run:
$ git clone https://github.com/LLNL/spack
$ spack/bin/spack install pruners-ninja
If you already have Spack, you can omit the first line.
Please refer to the installation instructions in the README.md.