diff --git a/Compiler/kokkos/build b/Compiler/kokkos/build new file mode 100755 index 0000000..42ee0e9 --- /dev/null +++ b/Compiler/kokkos/build @@ -0,0 +1,27 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url "https://github.com/kokkos/kokkos/archive/${V_PKG}/$P-${V_PKG}.tar.gz" + +pbuild::add_to_group 'Compiler' +pbuild::install_docfiles \ + 'LICENSE' + +pbuild::pre_configure() { + local GPU='AMPERE80' + pbuild::add_configure_args "-DCMAKE_INSTALL_PREFIX=${PREFIX}" + pbuild::add_configure_args "-DCMAKE_CXX_COMPILER=${CC}" + pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=Release" + pbuild::add_configure_args "-DKokkos_CXX_STANDARD=17" + pbuild::add_configure_args "-DKokkos_ENABLE_SERIAL=On" + pbuild::add_configure_args "-DKokkos_ARCH_${GPU}=On" + pbuild::add_configure_args "-DKokkos_ENABLE_OPENMP=Off" + pbuild::add_configure_args "-DKokkos_ENABLE_CUDA=On" + pbuild::add_configure_args "-DKokkos_CUDA_DIR=${CUDA_DIR}" + pbuild::add_configure_args "-DKokkos_ENABLE_CUDA_LAMBDA=On" + pbuild::add_configure_args "-DKokkos_ENABLE_CUDA_UVM=Off" +} +# Local Variables: +# mode: sh +# sh-basic-offset: 8 +# tab-width: 8 +# End: diff --git a/Compiler/kokkos/files/variants.dgx b/Compiler/kokkos/files/variants.dgx new file mode 100644 index 0000000..70f71ed --- /dev/null +++ b/Compiler/kokkos/files/variants.dgx @@ -0,0 +1 @@ +kokkos/3.3.01_dgx unstable gcc/{8.4.0,9.3.0,10.2.0} cuda/11.2.2 b:cmake/3.19.2 diff --git a/Compiler/kokkos/modulefile b/Compiler/kokkos/modulefile new file mode 100644 index 0000000..b084038 --- /dev/null +++ b/Compiler/kokkos/modulefile @@ -0,0 +1,15 @@ +#%Module1.0 + +module-whatis "programming model targeting all major HPC platforms" +module-url "https://kokkos.org/" +module-license "BSD-like, see $PREFIX/share/doc/kokkos/LICENSE" +module-maintainer "Achim Gsell " +module-help " +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 CUDA, HPX, OpenMP and Pthreads as backend programming +models with several other backends in development. +"