Skip to content
Merged
Show file tree
Hide file tree
Changes from 49 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
246f9a8
Remove unnecessary and inaccurate cores per task, simplify
adrienbernede Aug 10, 2022
b3bbf34
Remove SLURM_OVERLAP option to attempt to use --overlap instead
adrienbernede Aug 10, 2022
2f37258
Merge branch 'develop' into woptim/ci/allocations
adrienbernede Aug 11, 2022
405a65b
Fix sharing corona job
adrienbernede Aug 11, 2022
fb5cb4a
Update radiuss-spack-configs and CI to run with hip@5.1.1 on corona
adrienbernede Aug 11, 2022
3f2e9d5
Merge branch 'woptim/hip-511-ci' into woptim/ci/allocations
adrienbernede Aug 11, 2022
438b220
Adapt to branch reorg in radiuss-shared-ci
adrienbernede Aug 12, 2022
dcbcf6c
Merge branch 'develop' into woptim/ci/allocations
adrienbernede Aug 18, 2022
708b9ea
Merge branch 'develop' into woptim/ci/allocations
adrienbernede Aug 22, 2022
0d59f17
Merge branch 'develop' into woptim/ci/allocations
adrienbernede Aug 23, 2022
49a42b7
Use new tag in radiuss-shared-ci
adrienbernede Aug 23, 2022
47a39a3
Changelog
adrienbernede Aug 23, 2022
da25a90
Update documentation regarding Gitlab CI
adrienbernede Aug 23, 2022
d6adfff
Try spack@0.18.1 to sync with RAJA and Co.
adrienbernede Aug 23, 2022
3a4bfe2
Update radiuss-shared-ci to only use xl@16.1.1.11
adrienbernede Aug 24, 2022
04373c9
Fix wrong radiuss-spack-configs version
adrienbernede Aug 29, 2022
84651d1
Merge branch 'woptim/update-to-xl_16_1_1_11' into woptim/raja-umpire-…
adrienbernede Aug 29, 2022
f2e74c4
Merge branch 'woptim/use-spack-0.18.1' into woptim/raja-umpire-sync
adrienbernede Aug 29, 2022
2010420
Changelog
adrienbernede Aug 29, 2022
f1a7c58
Naming covention + update to xl@16.1.1.12 + restore ~fortran as default
adrienbernede Sep 2, 2022
1ee34dc
Fix typo
adrienbernede Sep 2, 2022
a45b65d
progressively reverting to initial config of failing spec
adrienbernede Sep 8, 2022
d7b130e
Adapt CI to new layout fixing variable overriding issue
adrienbernede Sep 8, 2022
2c66c6f
Fix file name
adrienbernede Sep 8, 2022
e4635a4
Extra quotes and consistent comment
adrienbernede Sep 8, 2022
5262412
Point to official radiuss-shared-ci release
adrienbernede Sep 9, 2022
c73e078
Fix variable name in CI, remove unnecessary code in build-and-test, u…
adrienbernede Sep 13, 2022
c4b9642
Sync camp package with RAJA copy
adrienbernede Sep 13, 2022
4db8a79
Fix job names + fix custom vars and deps for lassen
adrienbernede Sep 15, 2022
5b1ec64
Sort jobs to highlight the overridden specs
adrienbernede Sep 15, 2022
6924386
build-and-test: change /dev/shm prefix dir to avoid race conditions w…
adrienbernede Sep 16, 2022
2c0ee31
Starting the update process
adrienbernede Oct 24, 2022
0f9abba
Merge branch 'develop' into woptim/update-local-packages
adrienbernede Nov 4, 2022
ce79a45
Update local Umpire spack package with upstream one
adrienbernede Nov 7, 2022
3fef7ec
Missing import
adrienbernede Nov 7, 2022
eaac1b2
Attempt to fix missing umpire
adrienbernede Nov 7, 2022
29725b1
revert previous commit
adrienbernede Nov 7, 2022
e1cabff
Update camp package with latest spack develop
adrienbernede Nov 7, 2022
a37f723
Fix missing import with full call
adrienbernede Nov 7, 2022
add285d
Fix double "tests" variant in spec, TODO fix in RADIUSS Shared CI
adrienbernede Nov 7, 2022
869c3fc
Fix things, add comments, Sync with RAJA and CHAI
adrienbernede Nov 9, 2022
c7e282c
Fix syntax
adrienbernede Nov 9, 2022
28b100e
Fix syntax
adrienbernede Nov 9, 2022
7a8a51e
Fix BENCHMARKS / TESTS CMake options in spack package
adrienbernede Nov 10, 2022
04990c7
Revert switch to hip compiler cause causing CMake error
adrienbernede Nov 10, 2022
3ba99cd
Add a piece of the full hash to create a unique CMake Cache file name
adrienbernede Nov 10, 2022
e7e0d7b
Remove duplicate definition of CMAKE_HIP_ARCHITECTURE to use a list o…
adrienbernede Nov 10, 2022
bc52286
Default to ~tools, conflict +tools when +rocm, remove ENABLE_TOOLS hi…
adrienbernede Nov 10, 2022
d3db446
Cosmetic
adrienbernede Nov 10, 2022
5762d9c
Update radiuss-spack-configs (new CMake versions)
adrienbernede Nov 14, 2022
526710a
Apply missing variants
adrienbernede Nov 17, 2022
3889fb2
Uniformize use of double quotes
adrienbernede Nov 21, 2022
25b372a
Export cmake cached config as artifact to ease navigation
adrienbernede Nov 21, 2022
3093d99
Revert "Export cmake cached config as artifact to ease navigation"
adrienbernede Nov 25, 2022
1ccda57
Add missing +tools; always set cmake benchmark status; do not build e…
adrienbernede Nov 28, 2022
e56b322
Woptim/update shared ci (#797)
adrienbernede Dec 15, 2022
63ef9bc
Minor
adrienbernede Dec 15, 2022
1e70a09
Update radiuss-spack-configs to fix cmake requirements in Umpire package
adrienbernede Dec 16, 2022
8c90c89
Remove problematic cmake requirement
adrienbernede Jan 2, 2023
52efe0f
Merge branch 'develop' into woptim/update-local-packages
adrienbernede Jan 10, 2023
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
2 changes: 1 addition & 1 deletion .gitlab/corona-build-and-test-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@
###
rocm_5_1_1_openmp_clang_13_0_0:
variables:
SPEC: "+fortran +openmp +rocm amdgpu_target=gfx906 %clang@13.0.0 ^hip@5.1.1 ^blt@develop"
SPEC: "~shared +fortran +openmp +rocm ~device_alloc tests=basic amdgpu_target=gfx906 %clang@13.0.0 ^hip@5.1.1 ^blt@develop"
extends: .build_and_test_on_corona

6 changes: 3 additions & 3 deletions .gitlab/custom-jobs-and-variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ variables:
# Arguments for job level allocation
RUBY_BUILD_AND_TEST_JOB_ALLOC: "--overlap --time=10 --nodes=1"
# Project specific variants for ruby
PROJECT_RUBY_VARIANTS: "+fortran "
PROJECT_RUBY_VARIANTS: "~shared +fortran ~device_alloc +tools tests=basic "
# Project specific deps for ruby
PROJECT_RUBY_DEPS: ""

Expand All @@ -29,7 +29,7 @@ variables:
# Arguments for job level allocation
CORONA_BUILD_AND_TEST_JOB_ALLOC: "--time-limit=10m --nodes=1"
# Project specific variants for corona
PROJECT_CORONA_VARIANTS: "+fortran "
PROJECT_CORONA_VARIANTS: "~shared +fortran ~device_alloc tests=basic "
# Project specific deps for corona
PROJECT_CORONA_DEPS: "^blt@develop"

Expand All @@ -38,7 +38,7 @@ variables:
# Arguments for job level allocation
LASSEN_BUILD_AND_TEST_JOB_ALLOC: "1 -W 18"
# Project specific variants for lassen
PROJECT_LASSEN_VARIANTS: "+fortran "
PROJECT_LASSEN_VARIANTS: "~shared +fortran ~device_alloc +tools tests=basic "
# Project specific deps for lassen
PROJECT_LASSEN_DEPS: ""

Expand Down
34 changes: 20 additions & 14 deletions .gitlab/lassen-build-and-test-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,45 @@
# We keep ${PROJECT_<MACHINE>_VARIANTS} and ${PROJECT_<MACHINE>_DEPS} So that
# the comparison with the original job is easier.

# No overridden jobs so far.
# Spec has test disabled in shared CI, conflicting with default test setting in Umpire
# TODO: This is likely an issue in RADIUSS Shared CI: why disable tests ?.
xl_16_1_1_12_gcc_8_3_1_cuda_11_0_2:
variables:
SPEC: "~shared +fortran ~device_alloc +cuda tests=none %xl@16.1.1.12 cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^cuda@11.0.2"
extends: .build_and_test_on_lassen


############
# Extra jobs
############
# We do not recommend using ${PROJECT_<MACHINE>_VARIANTS} and
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is not reason not to fully
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is no reason not to fully
# describe the spec here.

ibm_clang_10_0_1_mpi_shmem:
variables:
SPEC: "%clang@ibm.10.0.1 +ipc_shmem +mpi ^spectrum-mpi"
SPEC: "~shared ~device_alloc tests=basic %clang@ibm.10.0.1 +ipc_shmem +mpi ^spectrum-mpi"
extends: .build_and_test_on_lassen

ibm_clang_10_0_1_mpi:
variables:
SPEC: "+fortran %clang@ibm.10.0.1 +mpi ^spectrum-mpi"
SPEC: "~shared +fortran ~device_alloc tests=basic %clang@ibm.10.0.1 +mpi ^spectrum-mpi"
extends: .build_and_test_on_lassen

ibm_clang_10_0_1_cuda_10_1_168_mpi_shmem:
variables:
SPEC: "%clang@ibm.10.0.1 +cuda +ipc_shmem +mpi cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^spectrum-mpi ^cuda@10.1.168"
SPEC: "~shared ~device_alloc tests=basic %clang@ibm.10.0.1 +cuda +ipc_shmem +mpi cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^spectrum-mpi ^cuda@10.1.168"
extends: .build_and_test_on_lassen

# Extras.
clang_9_0_0_libcpp:
variables:
SPEC: "%clang@9.0.0+libcpp cxxflags=\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\" cflags=\"-DGTEST_HAS_CXXABI_H_=0\""
SPEC: "~shared ~device_alloc tests=basic %clang@9.0.0+libcpp cxxflags=\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\" cflags=\"-DGTEST_HAS_CXXABI_H_=0\""
extends: .build_and_test_on_lassen

clang_9_0_0_memleak:
variables:
SPEC: "+asan +sanitizer_tests %clang@9.0.0 cxxflags=-fsanitize=address"
SPEC: "~shared +asan +sanitizer_tests ~device_alloc tests=basic %clang@9.0.0 cxxflags=-fsanitize=address"
ASAN_OPTIONS: "detect_leaks=1"
extends: .build_and_test_on_lassen

Expand All @@ -56,37 +62,37 @@ clang_9_0_0_memleak:

gcc_8_3_1_dev_benchmarks:
variables:
SPEC: "+dev_benchmarks %gcc@8.3.1 build_type=Release"
SPEC: "~shared +dev_benchmarks ~device_alloc %gcc@8.3.1 build_type=Release"
extends: .build_and_test_on_lassen

xl_default_omp_target:
variables:
SPEC: "%xl@default+openmp+openmp_target ^cmake@3.14.5"
SPEC: "~shared ~device_alloc tests=basic %xl@default+openmp+openmp_target ^cmake@3.14.5"
extends: .build_and_test_on_lassen

gcc_8_3_1_numa:
variables:
SPEC: "+fortran +numa%gcc@8.3.1"
SPEC: "~shared +fortran +numa ~device_alloc tests=basic %gcc@8.3.1"
extends: .build_and_test_on_lassen

gcc_8_3_1_cuda_10_1_168:
variables:
SPEC: "+fortran +cuda+shared+tools+backtrace %gcc@8.3.1 ^cuda@10.1.168"
SPEC: "+fortran +cuda +tools +backtrace ~device_alloc tests=basic %gcc@8.3.1 ^cuda@10.1.168"
extends: .build_and_test_on_lassen

# Develop/main builds against specific tpl versions.

gcc_8_3_1_tpls:
variables:
SPEC: "+fortran %gcc@8.3.1 ^blt@develop"
SPEC: "~shared +fortran ~device_alloc tests=basic %gcc@8.3.1 ^blt@develop"
extends: .build_and_test_on_lassen

ibm_clang_9_0_0_gcc_8_3_1_cuda_10_1_168_tpls:
variables:
SPEC: "+fortran +cuda %clang@ibm.9.0.0 cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^cuda@10.1.168 ^blt@develop"
SPEC: "~shared +fortran +cuda ~device_alloc tests=basic %clang@ibm.9.0.0 cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^cuda@10.1.168 ^blt@develop"
extends: .build_and_test_on_lassen

xl_16_1_1_12_gcc_8_3_1_cuda_10_1_168_tpls:
variables:
SPEC: "+fortran +cuda %xl@16.1.1.12 cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-7.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-7.3.1\" ^cuda@10.1.168 ^cmake@3.14.5 ^blt@develop"
SPEC: "~shared +fortran +cuda ~device_alloc tests=basic %xl@16.1.1.12 cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-7.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-7.3.1\" ^cuda@10.1.168 ^cmake@3.14.5 ^blt@develop"
extends: .build_and_test_on_lassen
10 changes: 5 additions & 5 deletions .gitlab/ruby-build-and-test-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,27 @@

gcc_8_1_0_numa:
variables:
SPEC: "+fortran+numa %gcc@8.1.0"
SPEC: "~shared +fortran +numa ~device_alloc tests=basic %gcc@8.1.0"
extends: .build_and_test_on_ruby

clang_10_0_1_sqlite_experimental:
variables:
SPEC: "+sqlite_experimental %clang@10.0.1"
SPEC: "~shared +sqlite_experimental ~device_alloc tests=basic %clang@10.0.1"
extends: .build_and_test_on_ruby

# Develop builds against specific tpl version.
pgi_20_1_gcc_local_8_3_1_tpls:
variables:
SPEC: "+fortran %pgi@20.1 cxxflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc cflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc fflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc ^blt@develop"
SPEC: "~shared +fortran ~device_alloc tests=basic %pgi@20.1 cxxflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc cflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc fflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc ^blt@develop"
extends: .build_and_test_on_ruby

clang_10_0_1_tpls:
variables:
SPEC: "+fortran %clang@10.0.1 ^blt@develop"
SPEC: "~shared +fortran ~device_alloc tests=basic %clang@10.0.1 ^blt@develop"
extends: .build_and_test_on_ruby

gcc_8_1_0_tpls:
variables:
SPEC: "+fortran %gcc@8.1.0 ^blt@develop"
SPEC: "~shared +fortran ~device_alloc tests=basic %gcc@8.1.0 ^blt@develop"
extends: .build_and_test_on_ruby

40 changes: 20 additions & 20 deletions scripts/spack_packages/blt/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,38 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *
from spack.package import *


class Blt(Package):
"""BLT is a streamlined CMake-based foundation for Building, Linking and
Testing large-scale high performance computing (HPC) applications."""
Testing large-scale high performance computing (HPC) applications."""

homepage = "https://github.com/LLNL/blt"
url = "https://github.com/LLNL/blt/archive/v0.4.0.tar.gz"
git = "https://github.com/LLNL/blt.git"
tags = ['radiuss']
url = "https://github.com/LLNL/blt/archive/v0.4.0.tar.gz"
git = "https://github.com/LLNL/blt.git"
tags = ["radiuss"]

maintainers = ['white238', 'davidbeckingsale']
maintainers = ["white238", "davidbeckingsale"]

version('develop', branch='develop')
version('main', branch='main')
version("develop", branch="develop")
version("main", branch="main")
# Note: 0.4.0+ contains a breaking change to BLT created targets
# if you export targets this could cause problems in downstream
# projects if not handled properly. More info here:
# https://llnl-blt.readthedocs.io/en/develop/tutorial/exporting_targets.html
version("0.5.2", sha256="95b924cfbb2bddd9b1a92e96603b2fd485a19721d59ddf8ff50baefc1714d7ea")
version('0.5.1', sha256='ff7e87eefc48704a0721b66174612b945955adaa0a56aa69dd0473074fa4badf')
version('0.5.0', sha256='5f680ef922d0e0a7ff1b1a5fc8aa107cd4f543ad888cbc9b12639bea72a6ab1f')
version('0.4.1', sha256='16cc3e067ddcf48b99358107e5035a17549f52dcc701a35cd18a9d9f536826c1')
version('0.4.0', sha256='f3bc45d28b9b2eb6df43b75d4f6f89a1557d73d012da7b75bac1be0574767193')
version('0.3.6', sha256='6276317c29e7ff8524fbea47d9288ddb40ac06e9f9da5e878bf9011e2c99bf71')
version('0.3.5', sha256='68a1c224bb9203461ae6f5ab0ff3c50b4a58dcce6c2d2799489a1811f425fb84')
version('0.3.0', sha256='bb917a67cb7335d6721c997ba9c5dca70506006d7bba5e0e50033dd0836481a5')
version('0.2.5', sha256='3a000f60194e47b3e5623cc528cbcaf88f7fea4d9620b3c7446ff6658dc582a5')
version('0.2.0', sha256='c0cadf1269c2feb189e398a356e3c49170bc832df95e5564e32bdbb1eb0fa1b3')

depends_on('cmake', type='run')
version("0.5.1", sha256="ff7e87eefc48704a0721b66174612b945955adaa0a56aa69dd0473074fa4badf")
version("0.5.0", sha256="5f680ef922d0e0a7ff1b1a5fc8aa107cd4f543ad888cbc9b12639bea72a6ab1f")
version("0.4.1", sha256="16cc3e067ddcf48b99358107e5035a17549f52dcc701a35cd18a9d9f536826c1")
version("0.4.0", sha256="f3bc45d28b9b2eb6df43b75d4f6f89a1557d73d012da7b75bac1be0574767193")
version("0.3.6", sha256="6276317c29e7ff8524fbea47d9288ddb40ac06e9f9da5e878bf9011e2c99bf71")
version("0.3.5", sha256="68a1c224bb9203461ae6f5ab0ff3c50b4a58dcce6c2d2799489a1811f425fb84")
version("0.3.0", sha256="bb917a67cb7335d6721c997ba9c5dca70506006d7bba5e0e50033dd0836481a5")
version("0.2.5", sha256="3a000f60194e47b3e5623cc528cbcaf88f7fea4d9620b3c7446ff6658dc582a5")
version("0.2.0", sha256="c0cadf1269c2feb189e398a356e3c49170bc832df95e5564e32bdbb1eb0fa1b3")

depends_on("cmake", type="run")

def install(self, spec, prefix):
install_tree('.', prefix)
install_tree(".", prefix)
101 changes: 58 additions & 43 deletions scripts/spack_packages/camp/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,76 +8,91 @@
from spack.package import *


def hip_repair_options(options, spec):
# there is only one dir like this, but the version component is unknown
options.append(
"-DHIP_CLANG_INCLUDE_PATH="
+ glob.glob("{}/lib/clang/*/include".format(spec["llvm-amdgpu"].prefix))[0]
)


def hip_repair_cache(options, spec):
# there is only one dir like this, but the version component is unknown
options.append(
cmake_cache_path(
"HIP_CLANG_INCLUDE_PATH",
glob.glob("{}/lib/clang/*/include".format(spec["llvm-amdgpu"].prefix))[0],
)
)


class Camp(CMakePackage, CudaPackage, ROCmPackage):
"""
Compiler agnostic metaprogramming library providing concepts,
type operations and tuples for C++ and cuda
"""

homepage = "https://github.com/LLNL/camp"
git = "https://github.com/LLNL/camp.git"
url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz"
git = "https://github.com/LLNL/camp.git"
url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz"

maintainers = ['trws']
maintainers = ["trws"]

version('main', branch='main', submodules='True')
version('2022.03.0', sha256='e9090d5ee191ea3a8e36b47a8fe78f3ac95d51804f1d986d931e85b8f8dad721')
version('0.3.0', sha256='129431a049ca5825443038ad5a37a86ba6d09b2618d5fe65d35f83136575afdb')
version('0.2.3', sha256='58a0f3bd5eadb588d7dc83f3d050aff8c8db639fc89e8d6553f9ce34fc2421a7')
version('0.2.2', sha256='194d38b57e50e3494482a7f94940b27f37a2bee8291f2574d64db342b981d819')
version('0.1.0', sha256='fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc')
version("main", branch="main", submodules="True")
version("2022.10.0", sha256="3561c3ef00bbcb61fe3183c53d49b110e54910f47e7fc689ad9ccce57e55d6b8")
version("2022.03.2", sha256="bc4aaeacfe8f2912e28f7a36fc731ab9e481bee15f2c6daf0cb208eed3f201eb")
version("2022.03.0", sha256="e9090d5ee191ea3a8e36b47a8fe78f3ac95d51804f1d986d931e85b8f8dad721")
version("0.3.0", sha256="129431a049ca5825443038ad5a37a86ba6d09b2618d5fe65d35f83136575afdb")
version("0.2.3", sha256="58a0f3bd5eadb588d7dc83f3d050aff8c8db639fc89e8d6553f9ce34fc2421a7")
version("0.2.2", sha256="194d38b57e50e3494482a7f94940b27f37a2bee8291f2574d64db342b981d819")
version("0.1.0", sha256="fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc")

# TODO: figure out gtest dependency and then set this default True.
variant('tests', default=False, description='Build tests')
variant('openmp', default=False, description='Build with OpenMP support')
variant("tests", default=False, description="Build tests")
variant("openmp", default=False, description="Build with OpenMP support")

depends_on('cub', when='+cuda')
depends_on("cub", when="+cuda")

depends_on('blt')
depends_on("blt")

def cmake_args(self):
spec = self.spec

options = []

options.append("-DBLT_SOURCE_DIR={0}".format(spec['blt'].prefix))
options.append("-DBLT_SOURCE_DIR={0}".format(spec["blt"].prefix))

if '+cuda' in spec:
if "+cuda" in spec:
options.extend([
'-DENABLE_CUDA=ON',
'-DCUDA_TOOLKIT_ROOT_DIR=%s' % (spec['cuda'].prefix)])

if not spec.satisfies('cuda_arch=none'):
cuda_arch = spec.variants['cuda_arch'].value
options.append('-DCMAKE_CUDA_ARCHITECTURES={0}'.format(cuda_arch[0]))
options.append('-DCUDA_ARCH=sm_{0}'.format(cuda_arch[0]))
flag = '-arch sm_{0}'.format(cuda_arch[0])
options.append('-DCMAKE_CUDA_FLAGS:STRING={0}'.format(flag))
"-DENABLE_CUDA=ON",
"-DCUDA_TOOLKIT_ROOT_DIR=%s" % (spec["cuda"].prefix)
])

if not spec.satisfies("cuda_arch=none"):
cuda_arch = spec.variants["cuda_arch"].value
options.append("-DCMAKE_CUDA_ARCHITECTURES={0}".format(cuda_arch[0]))
options.append("-DCUDA_ARCH=sm_{0}".format(cuda_arch[0]))
flag = "-arch sm_{0}".format(cuda_arch[0])
options.append("-DCMAKE_CUDA_FLAGS:STRING={0}".format(flag))
else:
options.append('-DENABLE_CUDA=OFF')
options.append("-DENABLE_CUDA=OFF")

if '+rocm' in spec:
if "+rocm" in spec:
options.extend([
'-DENABLE_HIP=ON',
'-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix)
"-DENABLE_HIP=ON",
"-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix)
])
archs = self.spec.variants['amdgpu_target'].value
if archs != 'none':

hip_repair_options(options, spec)

archs = self.spec.variants["amdgpu_target"].value
if archs != "none":
arch_str = ",".join(archs)
options.append(
'-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'.format(arch_str)
)
# there is only one dir like this, but the version component is unknown
options.append(
"-DHIP_CLANG_INCLUDE_PATH=" + glob.glob(
"{}/lib/clang/*/include".format(spec['llvm-amdgpu'].prefix)
)[0]
)
options.append("-DHIP_HIPCC_FLAGS=--amdgpu-target={0}".format(arch_str))
else:
options.append('-DENABLE_HIP=OFF')

options.append(self.define_from_variant('ENABLE_TESTS', 'tests'))
options.append(self.define_from_variant('ENABLE_OPENMP', 'openmp'))
options.append("-DENABLE_HIP=OFF")

options.append(self.define_from_variant("ENABLE_OPENMP", "openmp"))
options.append(self.define_from_variant("ENABLE_TESTS", "tests"))

return options
13 changes: 13 additions & 0 deletions scripts/spack_packages/umpire/cmake_version_check.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/src/umpire/CMakeLists.txt b/src/umpire/CMakeLists.txt
index 18518f13..c2e45e03 100644
--- a/src/umpire/CMakeLists.txt
+++ b/src/umpire/CMakeLists.txt
@@ -105,7 +105,7 @@ blt_add_library(
DEPENDS_ON ${umpire_depends}
DEFINES ${umpire_defines})

-if (NOT WIN32 AND CMAKE_VERSION VERSION_GREATER 3.17)
+if (NOT WIN32 AND NOT ${CMAKE_VERSION} VERSION_LESS 3.18)
target_link_options(
umpire INTERFACE
$<BUILD_INTERFACE:$<$<NOT:$<LINK_LANGUAGE:Fortran>>:-rdynamic>>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/src/umpire/util/allocation_statistics.cpp b/src/umpire/util/allocation_statistics.cpp
index 597ae61f..0c3f7865 100644
--- a/src/umpire/util/allocation_statistics.cpp
+++ b/src/umpire/util/allocation_statistics.cpp
@@ -8,6 +8,7 @@
#include "umpire/util/allocation_statistics.hpp"

#include <algorithm>
+#include <limits>

namespace umpire {
namespace util {
Loading