# Copyright (C) 2019 Dave love, University of Manchester # Licence: MIT %global commit 00325471f9a39c5ffc35796f360fb02838cbef84 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global gitver .git%shortcommit Name: reprompi Version: 0 Release: 1%gitver%{?dist} Summary: Reproducible MPI benchamrk License: GPLv2+ URL: https://github.com/hunsa/reprompi/ Source0: https://github.com/hunsa/reprompi/archive/%commit/%name-%shortcommit.tar.gz Patch1: reprompi-flags.patch BuildRequires: cmake gsl-devel gcc-c++ %global desc \ The ReproMPI Benchmark is a tool designed to accurately measure the\ run-time of MPI blocking collective operations. It provides multiple\ process synchronization methods and a flexible mechanism for\ predicting the number of measurements that are sufficient to obtain\ statistically sound results. %description %desc %package openmpi Summary: Reproducible MPI benchamrk - openmpi BuildRequires: openmpi-devel Requires: openmpi%{?_isa} %description openmpi %desc This is the OpenMPI version. %if 0%{?el7} %package openmpi3 Summary: Reproducible MPI benchamrk - openmpi3 BuildRequires: openmpi3-devel Requires: openmpi3%{?_isa} %description openmpi3 %desc This is the OpenMPI3 version. %endif %package mpich Summary: Reproducible MPI benchamrk - mpich BuildRequires: mpich-devel Requires: mpich%{?_isa} %description mpich %desc This is the MPICH version. %prep %setup -q -n %name-%commit mkdir mpich openmpi openmpi3 %patch1 -p1 %build pushd openmpi %_openmpi_load %cmake .. -DCMAKE_C_FLAGS="$CFLAGS -fPIC" -DCMAKE_C_FLAGS="$CXXFLAGS -fPIC" %make_build V=1 %_openmpi_unload popd %if 0%{?el7} pushd openmpi3 %_openmpi3_load %cmake .. %make_build V=1 %_openmpi3_unload popd %endif pushd mpich %_mpich_load %cmake .. -DCMAKE_C_FLAGS="$CFLAGS -fPIC" -DCMAKE_C_FLAGS="$CXXFLAGS -fPIC" %make_build V=1 %_mpich_unload popd %install %_openmpi_load mkdir -p %buildroot/$MPI_BIN cp -rp openmpi/bin/* %buildroot/$MPI_BIN %_openmpi_unload %if 0%{?el7} %_openmpi3_load mkdir -p %buildroot/$MPI_BIN cp -rp openmpi3/bin/* %buildroot/$MPI_BIN %_openmpi3_unload %endif %_mpich_load mkdir -p %buildroot/$MPI_BIN cp -rp mpich/bin/* %buildroot/$MPI_BIN %_mpich_unload # Avoid spurious executable permission lint warnings (after version.h # generated) find src -name \*.[ch] -print0 | xargs -0 chmod -x %files openmpi %license LICENSE %doc README.org AUTHORS ChangeLog %_libdir/openmpi/bin/* %if 0%{?el7} %files openmpi3 %license LICENSE %doc README.org AUTHORS ChangeLog %_libdir/openmpi3/bin/* %endif %files mpich %license LICENSE %doc README.org AUTHORS ChangeLog %_libdir/mpich/bin/* %changelog * Fri Mar 22 2019 - 0-1.git%shortcommit - Initial packaging