From daea1fcef63e8775bf815d0492717ab5c73f0d92 Mon Sep 17 00:00:00 2001 From: Christoph Junghans <junghans@lanl.gov> Date: Mon, 1 Jun 2020 13:58:09 -0600 Subject: [PATCH] exampm: fix build (#16894) * cabana: add mpi variant * cajita: initial import * exampm: update deps * flake8 --- .../repos/builtin/packages/cabana/package.py | 4 +++ .../repos/builtin/packages/cajita/package.py | 29 +++++++++++++++++++ .../repos/builtin/packages/exampm/package.py | 18 +++++++++++- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 var/spack/repos/builtin/packages/cajita/package.py diff --git a/var/spack/repos/builtin/packages/cabana/package.py b/var/spack/repos/builtin/packages/cabana/package.py index 53ae608644..b84bfa60b0 100644 --- a/var/spack/repos/builtin/packages/cabana/package.py +++ b/var/spack/repos/builtin/packages/cabana/package.py @@ -23,6 +23,7 @@ class Cabana(CMakePackage): variant('openmp', default=False, description="enable OpenMP backend") variant('cuda', default=False, description="enable Cuda backend") variant('shared', default=True, description='Build shared libraries') + variant('mpi', default=True, description='Build with mpi support') depends_on("cmake@3.9:", type='build') depends_on("kokkos-legacy+serial", when="@:0.2.0+serial") @@ -31,6 +32,7 @@ class Cabana(CMakePackage): depends_on("kokkos@3.1:+serial", when="@0.3.0:+serial") depends_on("kokkos@3.1:+openmp", when="@0.3.0:+openmp") depends_on("kokkos@3.1:+cuda", when="@0.3.0:+cuda") + depends_on('mpi', when='+mpi') def cmake_args(self): options = [ @@ -41,6 +43,8 @@ def cmake_args(self): 'On' if '+openmp' in self.spec else 'Off'), '-DCabana_ENABLE_Cuda=%s' % ( 'On' if '+cuda' in self.spec else 'Off'), + '-DCabana_ENABLE_MPI=%s' % ( + 'On' if '+mpi' in self.spec else 'Off'), '-DBUILD_SHARED_LIBS=%s' % ( 'On' if '+shared' in self.spec else 'Off') ] diff --git a/var/spack/repos/builtin/packages/cajita/package.py b/var/spack/repos/builtin/packages/cajita/package.py new file mode 100644 index 0000000000..ddfa96a81e --- /dev/null +++ b/var/spack/repos/builtin/packages/cajita/package.py @@ -0,0 +1,29 @@ +# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Cajita(CMakePackage): + """An MPI+Kokkos library for logically rectilinear grids""" + + homepage = "https://github.com/ECP-copa/Cajita" + git = "https://github.com/ECP-copa/Cajita.git" + + version('master', branch='master') + version('0.1', tag='0.1.0') + + variant('shared', default=True, description='Build shared libraries') + + depends_on('mpi') + depends_on('kokkos@3.0:') + + def cmake_args(self): + options = [ + '-DBUILD_SHARED_LIBS=%s' % ( + 'On' if '+shared' in self.spec else 'Off') + ] + + return options diff --git a/var/spack/repos/builtin/packages/exampm/package.py b/var/spack/repos/builtin/packages/exampm/package.py index bf1ae7f545..e5ba567196 100644 --- a/var/spack/repos/builtin/packages/exampm/package.py +++ b/var/spack/repos/builtin/packages/exampm/package.py @@ -12,6 +12,22 @@ class Exampm(CMakePackage): homepage = "https://github.com/ECP-copa/ExaMPM" git = "https://github.com/ECP-copa/ExaMPM.git" - version('develop', branch='master') + version('master', branch='master') tags = ['proxy-app'] + + variant('shared', default=True, description='Build shared libraries') + + depends_on('mpi') + depends_on('kokkos@3.0:') + depends_on('silo') + depends_on('cabana+mpi@master') + depends_on('cajita@master') + + def cmake_args(self): + options = [ + '-DBUILD_SHARED_LIBS=%s' % ( + 'On' if '+shared' in self.spec else 'Off') + ] + + return options -- GitLab