# Copyright (c) 2019 Dave Love, University of Manchester # MIT licence, per Fedora policy. %global vminidft 1.1.1 %global snapcommit 9914e82aabd39b2c1e47c48ea719c848970decde %global snapsc %(c=%snapcommit; echo ${c:0:7}) %global mdcommit ce5e74c2560c86742cdb74153580ecad7f7dd3ba %global mdsc %(c=%mdcommit; echo ${c:0:7}) Name: benchmark-mini-apps Version: 1 Release: 1%{?dist} Summary: Mini/proxy applications for benchmarking License: GPLv2 and LGPLv2+ and BSD Source0: https://github.com/NERSC/MiniDFT/archive/MiniDFT-%vminidft.tar.gz Source1: minidft-makefile Source2: https://asc.llnl.gov/coral-2-benchmarks/downloads/nekbone_2_3_5.tgz Source3: https://github.com/lanl/SNAP/archive/%snapcommit/SNAP-%snapsc.tar.gz Source4: https://github.com/Mantevo/miniMD/archive/%mdcommit/miniMD-%mdsc.tar.gz #BuildRequires: %{?el7:devtoolset-6-}gcc-gfortran BuildRequires: gcc-gfortran BuildRequires: openmpi-devel openblas-devel fftw-devel BuildRequires: scalapack-openmpi-devel %global desc \ A collection of various mini/proxy applications for benchmarking.\ Relevant URLS: https://www.nersc.gov/users/computational-systems/cori/nersc-8-procurement/trinity-nersc-8-rfp/nersc-8-trinity-benchmarks/ \ https://portal.nersc.gov/project/CAL/designforward.htm \ https://github.com/NERSC/MiniDFT %description %desc %package openmpi Summary: Mini/proxy applications for benchmarking - openmpi Requires: openmpi%{?_isa} scalapack-openmpi%{?_isa} %description openmpi %desc This is the openmpi version. %prep %setup -q -c tar fx %SOURCE0 tar fx %SOURCE3 tar fx %SOURCE4 cp miniMD-*/ref/LICENSE LICENSE.miniMD cp MiniDFT-MiniDFT-1.1.1/License License.MiniDFT cp SNAP*/README.md README.SNAP cp miniMD-*/README.md README.miniMD %build #. /opt/rh/devtoolset-6/enable %_openmpi_load cd MiniDFT-MiniDFT-%vminidft # Not smp-safe LDFLAGS=%{?build_ldflags} FFLAGS='%{?build_fflags} -O3 -ffast-math' make -C src -f %SOURCE1 cd - cd SNAP* %make_build -C src FFLAGS='-O3 -funroll-loops -ffast-math -g -fno-backtrace -rdynamic' FFLAG2=-fopenmp cd - %make_build -C miniMD-%mdcommit/ref openmpi AVX=no %install %_openmpi_load install -D -m755 MiniDFT-MiniDFT-1.1.1/src/mini_dft %buildroot$MPI_BIN/mini_dft install -D -m755 miniMD-*/ref/miniMD_openmpi %buildroot$MPI_BIN/miniMD install -D -m755 SNAP-*/src/gsnap %buildroot$MPI_BIN/gsnap %files openmpi %license LICENSE.miniMD License.MiniDFT %doc README.SNAP MiniDFT-MiniDFT-1.1.1/README.APEX README.miniMD %_libdir/openmpi/bin/mini_dft %_libdir/openmpi/bin/miniMD %_libdir/openmpi/bin/gsnap %changelog * Thu May 16 2019 Dave Love - 1-1 - Add miniMD, SNAP * Fri Apr 12 2019 Dave Love - 1-1 - Initial packaging (just MiniDFT)