Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions repos/spack_repo/benchpark/packages/camp/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2023 Lawrence Livermore National Security, LLC and other
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: Apache-2.0

from spack.package import *
from spack_repo.builtin.packages.camp.package import Camp as BuiltinCamp


class Camp(BuiltinCamp):

variant("default_stream", default=False, description="Use default stream")

def cmake_args(self):
options = super().cmake_args()
options.append(self.define_from_variant("CAMP_USE_PLATFORM_DEFAULT_STREAM", "default_stream"))

return options
20 changes: 20 additions & 0 deletions repos/spack_repo/benchpark/packages/cce/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2023 Lawrence Livermore National Security, LLC and other
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: Apache-2.0

import os
import shutil
import sys

from spack.package import *
from spack_repo.builtin.packages.cce.package import Cce as BuiltinCce


class Cce(BuiltinCce):
def _standard_flag(self, *, language, standard):
flags = {
"cxx": {"11": "-std=c++11", "14": "-std=c++14", "17": "-std=c++17", "20": "-std=c++20"},
"c": {"99": "-std=c99", "11": "-std=c11"},
}
return flags[language][standard]
19 changes: 18 additions & 1 deletion repos/spack_repo/benchpark/packages/hypre/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,24 @@ def setup_build_environment(self, env):
env.append_flags("LDFLAGS", f"-L{spec['lapack'].prefix}/lib -l{libsci_name}")

class CMakeBuilder(HypreCMakeBuilder):
pass
root_cmakelists_dir = "src"

def cmake_args(self):
args = super().cmake_args()

if "+umpire" in self.spec:
umpire = self.spec["umpire"]
umpire_opts = umpire.prefix.include
umpire_libs = umpire.libs
if "^camp" in umpire:
umpire_libs += umpire["camp"].libs
if "^fmt" in umpire:
umpire_libs += umpire["fmt"].libs

args.append(self.define("TPL_UMPIRE_INCLUDE_DIRS", umpire_opts))
args.append(self.define("TPL_UMPIRE_LIBRARIES", umpire_libs))

return args

class AutotoolsBuilder(HypreAutotoolsBuilder):
pass
2 changes: 1 addition & 1 deletion repos/spack_repo/benchpark/packages/laghos/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class Laghos(MakefilePackage, CudaPackage, ROCmPackage):
# Recommended mfem version for laghos v1.x is: ^mfem@3.3.1-laghos-v1.0
depends_on("mfem@3.3.1-laghos-v1.0", when="@1.0,1.1")
depends_on("mfem+caliper", when="+caliper")
depends_on("mfem cxxstd=17")
depends_on("mfem cxxstd=20", when="@develop")

requires("^[virtuals=zlib-api] zlib")

Expand Down
25 changes: 8 additions & 17 deletions repos/spack_repo/benchpark/packages/mfem/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,14 @@ class Mfem(BuiltinMfem):

variant("caliper", default=False, description="Build Caliper support")

depends_on("camp", when="+umpire")
depends_on("camp+default_stream", when="+umpire")
depends_on("camp@main", when="@develop +umpire")
depends_on("umpire@develop", when="@develop +umpire")

depends_on("camp+default_stream", when="+raja")
depends_on("camp@main", when="@develop +raja")
depends_on("raja@develop cxxstd=20", when="@develop +raja")

depends_on("caliper", when="+caliper")
depends_on("adiak", when="+caliper")
depends_on("hypre+shared", when="+mpi~cuda")
Expand All @@ -40,22 +47,6 @@ def yes_no(varstr):

options = super().get_make_config_options(spec, prefix)

if "+umpire" in spec:
umpire = spec["umpire"]
umpire_opts = umpire.headers
umpire_libs = umpire.libs
if "^camp" in umpire:
umpire_opts += umpire["camp"].headers
umpire_libs += umpire["camp"].libs
if "^fmt" in umpire:
umpire_opts += umpire["fmt"].headers
umpire_libs += umpire["fmt"].libs
options = [
"UMPIRE_OPT=%s" % umpire_opts.cpp_flags if opt.startswith("UMPIRE_OPT=")
else "UMPIRE_LIB=%s" % self.ld_flags_from_library_list(umpire_libs) if opt.startswith("UMPIRE_LIB=")
else opt for opt in options
]

options.append("MFEM_USE_CALIPER=%s" % yes_no("+caliper"))
if "+caliper" in self.spec:
options.append("CALIPER_DIR=%s" % self.spec["caliper"].prefix)
Expand Down
Loading