From 7ddf3a5c9244e39b2c91ef2fc522e52f54136399 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 18 Sep 2019 13:42:32 -0600 Subject: [PATCH] Initial import (#1751409). --- .gitignore | 1 + kokkos.spec | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 87 insertions(+) create mode 100644 .gitignore create mode 100644 kokkos.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ee57d5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/kokkos-d93e239baee253fca66b8b7f2196edaa40a2ef17.tar.gz diff --git a/kokkos.spec b/kokkos.spec new file mode 100644 index 0000000..0f9418d --- /dev/null +++ b/kokkos.spec @@ -0,0 +1,85 @@ +%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 - 3.0.0-0.1.190912gitd93e239 +- initial commit diff --git a/sources b/sources new file mode 100644 index 0000000..f91ea62 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (kokkos-d93e239baee253fca66b8b7f2196edaa40a2ef17.tar.gz) = 60c88a9ca9c39d0f25175c16148b13a32e3b5b8ead1b89c8842f0d59c25a8f57192df44582113bb79a3f102d9fe6335db75ae41c882c616befa54c70a9363e9c