kokkos/kokkos.spec

86 lines
2.2 KiB
RPMSpec
Raw Normal View History

2019-09-18 19:42:32 +00:00
%global git 1
%global commit d93e239baee253fca66b8b7f2196edaa40a2ef17
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: kokkos
Version: 3.0.0
Release: 0.1.190912git%{shortcommit}%{?dist}
Summary: Kokkos C++ Performance Portability Programming
#no support for 32-bit archs https://github.com/kokkos/kokkos/issues/2312
ExcludeArch: i686 armv7hl
License: BSD
URL: https://github.com/kokkos/kokkos
%if %{git}
Source0: https://github.com/%{name}/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
%else
Source0: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
%endif
BuildRequires: gcc-c++
BuildRequires: cmake3 >= 3.0
BuildRequires: hwloc-devel
%global kokkos_desc \
Kokkos Core implements a programming model in C++ for writing performance \
portable applications targeting all major HPC platforms. For that purpose \
it provides abstractions for both parallel execution of code and data \
management. Kokkos is designed to target complex node architectures with \
N-level memory hierarchies and multiple types of execution resources. It \
currently can use OpenMP, Pthreads and CUDA as backend programming models.
%description
%{kokkos_desc}
%package devel
Summary: Development package for %{name} packages
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
%{kokkos_desc}
This package contains the development files of %{name}.
%prep
%if %{git}
%setup -q -n %{name}-%{commit}
%else
%setup -q
%endif
%build
mkdir build
pushd build
%{cmake3} \
-DKokkos_ENABLE_TESTS=On \
-DCMAKE_INSTALL_INCLUDEDIR=include/kokkos \
-DKokkos_ENABLE_OPENMP=ON \
-DKokkos_ENABLE_SERIAL=ON \
-DKokkos_ENABLE_PTHREAD=ON \
-DKokkos_ENABLE_HWLOC=ON \
..
%make_build
popd
%install
%make_install -C build
%check
make -C build test CTEST_OUTPUT_ON_FAILURE=1
%files
%doc README.md
%license LICENSE
%{_libdir}/libkokkos.so.%{version}
%files devel
%{_libdir}/libkokkos.so
%{_libdir}/pkgconfig/
%{_libdir}/cmake/Kokkos
%{_includedir}/kokkos
%{_bindir}/nvcc_wrapper
%changelog
* Wed Sep 11 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.1.190912gitd93e239
- initial commit