kokkos/kokkos.spec

99 lines
2.8 KiB
RPMSpec
Raw Normal View History

2019-09-18 19:42:32 +00:00
%global git 1
%global commit cb90e9484286b8728d821bb5b1c23e74373bc47b
2019-09-18 19:42:32 +00:00
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: kokkos
Version: 3.0.0
Release: 0.2.20191219git%{shortcommit}%{?dist}
2019-09-18 19:42:32 +00:00
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 \
2019-09-18 19:42:32 +00:00
-DKokkos_ENABLE_OPENMP=ON \
-DKokkos_ENABLE_SERIAL=ON \
-DKokkos_ENABLE_HWLOC=ON \
..
%make_build
popd
%install
%make_install -C build
%check
2019-12-20 19:23:38 +00:00
# https://github.com/kokkos/kokkos/issues/2613
%global testargs ARGS='-E UnitTest_StackTraceTest'
make -C build test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
2019-09-18 19:42:32 +00:00
%files
%doc README.md
%license LICENSE
2019-12-20 19:36:20 +00:00
%{_libdir}/libkokkos*.so.%{version}
2019-09-18 19:42:32 +00:00
%files devel
2019-12-20 19:36:20 +00:00
%{_libdir}/libkokkos*.so
2019-09-18 19:42:32 +00:00
%{_libdir}/pkgconfig/
%{_libdir}/cmake/Kokkos
%{_includedir}/kokkos
%{_bindir}/nvcc_wrapper
%changelog
* Mon Dec 23 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.2.20191219gitcb90e9
- bump to latest release candidate snapshot
* 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
2019-12-20 19:23:38 +00:00
- 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
2019-09-18 19:49:00 +00:00
* Wed Sep 18 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.1.190912gitd93e239
- initial commit (bug #1751409)