96 lines
2.7 KiB
RPMSpec
96 lines
2.7 KiB
RPMSpec
%global git 1
|
|
%global commit 6619d83a6d682ee83eabc7d23cf051d0ff77ff61
|
|
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
|
|
|
Name: kokkos
|
|
Version: 3.0.0
|
|
Release: 0.2.20191216git%{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_AGGRESSIVE_VECTORIZATION=ON \
|
|
-DKokkos_ENABLE_DEPRECATED_CODE=ON \
|
|
-DKokkos_ENABLE_OPENMP=ON \
|
|
-DKokkos_ENABLE_SERIAL=ON \
|
|
-DKokkos_ENABLE_HWLOC=ON \
|
|
..
|
|
%make_build
|
|
popd
|
|
|
|
%install
|
|
%make_install -C build
|
|
|
|
%check
|
|
# https://github.com/kokkos/kokkos/issues/2613
|
|
%global testargs ARGS='-E UnitTest_StackTraceTest'
|
|
make -C build test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
|
|
|
|
%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
|
|
* Fri Dec 20 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.2.20191216git6619d83
|
|
- bump to latest snapshot and enable Kokkos_ENABLE_DEPRECATED_CODE
|
|
- disable StackTrace Unittests
|
|
|
|
* Sun Sep 29 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.2.20190929git445c176
|
|
- bump to latest snapshot and enable AGGRESSIVE_VECTORIZATION
|
|
|
|
* Wed Sep 18 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.1.190912gitd93e239
|
|
- initial commit (bug #1751409)
|