The IT Center of the RWTH Aachen University develops the correctness analysis tools MUST and Archer and the performance analysis tool OTF-CPT.
Archer is a dynamic data race detector for OpenMP programs. Archer identifies data races in large OpenMP applications with low runtime and memory overheads, while still offering high accuracy and precision. It builds on open-source tool infrastructure such as LLVM and ThreadSanitizer to provide portability. Archer is fully integrates into the llvm-project and is distributed with the Clang compiler. The tool can be used with C, C++ and Fortran applications.
MUST is a runtime error detection tool for MPI applications. It detects usage errors of the MPI at runtime and reports them to the user. It is easy to use and provides a wide range of correctness checks, including MPI deadlock detection, resource leak detection, datatype matching, and detection of communication buffer overlaps. MUST provides its correctness reports in an HTML report that is even available if the application crashes due to an MPI usage error. In combination with Archer, the tool can detect errors caused by multi-threaded use of MPI. The tool supports C, C++ and Fortran applications.
OTF-CPT is a lightweight performance analysis tool that reports a summary of POP metrics for MPI+OpenMP at the end of execution. Based on on-the-fly critical path analysis, the tool collects all metrics necessary to report a breakdown of POP metrics for MPI and OpenMP (see below). The tool can also be used for MPI parallel or OpenMP parallel applications.