86 lines
2.2 KiB
RPMSpec
86 lines
2.2 KiB
RPMSpec
|
%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
|