From 2ace8a55c13dd36e667eb4a2ed21f620202e6172 Mon Sep 17 00:00:00 2001 From: Jacob King <12665462+jacobrking@users.noreply.github.com> Date: Thu, 15 Jun 2023 12:24:55 -0600 Subject: Create package.py file for NIMROD abstract accelerated infrastructure. (#38405) Co-authored-by: jacobrking --- .../repos/builtin/packages/nimrod-aai/package.py | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 var/spack/repos/builtin/packages/nimrod-aai/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/nimrod-aai/package.py b/var/spack/repos/builtin/packages/nimrod-aai/package.py new file mode 100644 index 0000000000..862a07b496 --- /dev/null +++ b/var/spack/repos/builtin/packages/nimrod-aai/package.py @@ -0,0 +1,58 @@ +# Copyright 2013-2023 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.package import * + + +class NimrodAai(CMakePackage): + """NIMROD infrastructure for FEM evaluation, integration and linear algebra + solves with device accelerated computing through OpenACC and abstract types + enabled by modern Fortran. + """ + + homepage = "https://gitlab.com/NIMRODteam/nimrod-abstract" + url = ( + "https://gitlab.com/NIMRODteam/nimrod-abstract/-/archive/23.6/nimrod-abstract-23.6.tar.gz" + ) + git = "https://gitlab.com/NIMRODteam/nimrod-abstract.git" + + maintainers("jacobrking") + + version("main", branch="main") + version("23.6", sha256="1794b89a5a64ff2b3c548818b90d17eef85d819ba4f63a76c41a682d5b76c14f") + + variant("debug", default=False) + variant("openacc", default=False) + variant("openacc_autocompare", default=False) + variant("enable_shared", default=True) + variant("mpi", default=False) + variant("time_level1", default=False) + variant("time_level2", default=False) + variant("nvtx_profile", default=False) + variant("openacc_cc", default="native") + variant("trap_fp_exceptions", default=False) + + depends_on("cmake", type="build") + depends_on("hdf5+fortran", type="build") + depends_on("mpi", when="+mpi") + + def cmake_args(self): + args = [ + self.define_from_variant("DEBUG", "debug"), + self.define_from_variant("ENABLE_OPENACC", "openacc"), + self.define_from_variant("ENABLE_MPI", "mpi"), + self.define_from_variant("ENABLE_SHARED", "enable_shared"), + self.define_from_variant("NVTX_PROFILE", "nvtx_profile"), + self.define_from_variant("TIME_LEVEL1", "time_level1"), + self.define_from_variant("TIME_LEVEL2", "time_level2"), + self.define_from_variant("TRAP_FP_EXCEPTIONS", "trap_fp_exceptions"), + ] + if "+openacc" in self.spec: + addl_args = [ + self.define_from_variant("ENABLE_OPENACC_AUTOCOMPARE", "openacc_autocompare"), + self.define_from_variant("OPENACC_CC", "openacc_cc"), + ] + args.append(addl_args) + return args -- cgit v1.2.3-70-g09d2