diff options
author | Jeffrey Salmond <js947@users.noreply.github.com> | 2017-04-26 15:33:00 +0100 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2017-04-26 09:33:00 -0500 |
commit | e3378a0d3bc84056bdc2f39738583fb679850665 (patch) | |
tree | 273fda8e341debe671022994acab24957848ad4c | |
parent | 97af407ae4e650b00f9f164fa0fd004f58182911 (diff) | |
download | spack-e3378a0d3bc84056bdc2f39738583fb679850665.tar.gz spack-e3378a0d3bc84056bdc2f39738583fb679850665.tar.bz2 spack-e3378a0d3bc84056bdc2f39738583fb679850665.tar.xz spack-e3378a0d3bc84056bdc2f39738583fb679850665.zip |
add kokkos package (#3997)
* add kokkos package
* fix flake8
* add descriptions to kokkos variants
-rw-r--r-- | var/spack/repos/builtin/packages/kokkos/package.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py new file mode 100644 index 0000000000..00eadfa548 --- /dev/null +++ b/var/spack/repos/builtin/packages/kokkos/package.py @@ -0,0 +1,61 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + + +class Kokkos(Package): + """Kokkos implements a programming model in C++ for writing performance + portable applications targeting all major HPC platforms.""" + + homepage = "https://github.com/kokkos/kokkos" + url = "https://github.com/kokkos/kokkos/archive/2.03.00.tar.gz" + + version('2.03.00', 'f205d659d4304747759fabfba32d43c3') + + variant('qthreads', default=False, description="enable Qthreads backend") + variant('cuda', default=False, description="enable Cuda backend") + + depends_on('hwloc') + depends_on('qthreads', when='+qthreads') + depends_on('cuda', when='+cuda') + + def install(self, spec, prefix): + generate = which(join_path(self.stage.source_path, + 'generate_makefile.bash')) + with working_dir('build', create=True): + g_args = [ + '--prefix=%s' % prefix, + '--with-hwloc=%s' % spec['hwloc'].prefix, + '--with-serial', + '--with-openmp', + ] + if 'qthreads' in spec: + g_args.append('--with-qthreads=%s' % spec['qthreads'].prefix) + if 'cuda' in spec: + g_args.append('--with-cuda=%s' % spec['cuda'].prefix) + + generate(*g_args) + make() + make('install') |