# Copyright (c) 2015 Dave Love, University of Liverpool # MIT licence, per Fedora policy %global commit a67f281744618e096a75d6269ba6d05393e2c2d1 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: automaded Version: 1.0 Release: 4%{?dist} Summary: Debugging tool based on statistical analysis License: GPLv2 URL: https://github.com/scalability-llnl/AutomaDeD Source0: https://github.com/scalability-llnl/%name/archive/%commit/%name-%shortcommit.tar.gz BuildRequires: python-devel callpath-devel adept-utils-devel BuildRequires: boost-devel dyninst-devel cmake libdwarf-devel BuildRequires: elfutils-libelf-devel %global desc \ AutomaDeD (Automata-based Debugging for Dissimilar parallel tasks) is\ a tool for automatic diagnosis of performance and correctness problems\ in MPI applications. It creates control-flow models of each MPI\ process and, when a failure occurs, these models are leveraged to find\ the origin of problems automatically. MPI calls are intercepted (using\ wrappers) to create the models. When an MPI application hangs,\ AutomaDeD creates a progress-dependence graph that helps finding the\ process (or group of processes) that caused the hang.\ \ [1] Subrata Mitra, Ignacio Laguna, Dong H. Ahn, Saurabh Bagchi, Martin\ Schulz, Todd Gamblin, Accurate application progress analysis for\ large-scale parallel debugging, ACM SIGPLAN Conference on\ Programming Language Design and Implementation (PLDI), 2014.\ \ [2] Ignacio Laguna, Dong H. Ahn, Bronis R. de Supinski, Saurabh\ Bagchi, Todd Gamblin, Probabilistic Diagnosis of Performance\ Faults in Large-Scale Parallel Applications, International\ Conference on Parallel Architectures and Compilation Techniques\ (PACT), 2012. %description %desc %package openmpi Summary: Debugging tool based on statistical analysis - openmpi BuildRequires: openmpi-devel Requires: openmpi%{?_isa} %description openmpi %desc This is the openmpi version. %prep %setup -q -n AutomaDeD-%commit %build %_openmpi_load CXXFLAGS=-fpermissive %cmake -DSTATE_TRACKER_WITH_CALLPATH=ON . %make_build %install %_openmpi_load %make_install mkdir -p $RPM_BUILD_ROOT$MPI_LIB mv $RPM_BUILD_ROOT%_prefix/lib/libstracker.so $RPM_BUILD_ROOT$MPI_LIB %files openmpi %license LICENSE %doc README.md examples # It's a preload library, hence .so %_libdir/openmpi/lib/libstracker.so %changelog * Thu Dec 20 2018 Dave Love - 1.0-4 - Tidy spec * Thu Sep 8 2016 Dave Love - 1.0-3 - Fix BRs * Fri Dec 18 2015 Dave Love - 1.0-2 - Minor update * Tue Aug 25 2015 Dave Love - 1.0-1 - Initial version