Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
ce104e4
Update uberenv commit
bmhan12 Oct 2, 2025
63448c5
Lock in main spack repo and spack-packages version & hash
bmhan12 Oct 2, 2025
a0f1c7d
Dockerfile, environment file, recipe changes for toss_4/Ubuntu/Rockyl…
bmhan12 Oct 2, 2025
5675848
Add uberenv_libs to .gitignore
bmhan12 Oct 2, 2025
87ed031
Update Sherlock specs
bmhan12 Oct 2, 2025
b9181ff
Fix gcc version
bmhan12 Oct 2, 2025
7a722e5
Fill in missing cxx line for gcc@11
bmhan12 Oct 2, 2025
e4a993b
Remove deprecated llnl module
victorapm Oct 3, 2025
f02d90a
Comment out Sherlock jobs
victorapm Oct 3, 2025
6293d01
Add RAJA 2025.09 suite
victorapm Oct 3, 2025
5f067ce
use upstream hdf5 recipe
bmhan12 Oct 6, 2025
b30e262
Generalize .gitignore for uberenv testing
bmhan12 Oct 6, 2025
bf0e156
Toolchain changes for toss 4 - CUDA is untested
bmhan12 Oct 6, 2025
93a6e9b
toss 4 cray rocm toolchain changes - hypre+magma unexpected concretiz…
bmhan12 Oct 6, 2025
369e808
Fix target arch
victorapm Oct 7, 2025
9f17cc9
bump up build_jobs
victorapm Oct 7, 2025
ca9dbc8
Add --no-permissions flag
victorapm Oct 7, 2025
dbd3777
Update scripts/setupLC-TPL-uberenv-helper.bash
victorapm Oct 7, 2025
6a0bdc2
Fix ATS flags for Dane and Matrix
victorapm Oct 7, 2025
1a9d325
Add bison, flex, and gcc-runtime to toss_4_x86_64_ib
victorapm Oct 7, 2025
f0e05a3
Merge pull request #327 from GEOS-DEV/feature/paludettomag1/stage-1
victorapm Oct 8, 2025
0ce88c8
Disable Sherlock jobs
victorapm Oct 8, 2025
7e55367
Merge branch 'feature/han12/spack_v1_noapi' into feature/paludettomag…
victorapm Oct 8, 2025
cef36c3
Add bison, flex, and ninja to toss_4_x86_64_ib_cray
victorapm Oct 8, 2025
d7c4bb7
Add --clean option to setupLC-TPL scripts
victorapm Oct 8, 2025
bc7cde8
Add workarounds to get %llvm-amdgpu, simplify spec for rocm to fix ma…
bmhan12 Oct 8, 2025
7fc4ace
Use newer external blas - let spack build flex (scotch compilation fa…
bmhan12 Oct 8, 2025
0579eb6
Add gcc-runtime to toss_4_x86_64_ib_cray
victorapm Oct 9, 2025
c749320
Add ninja to toss_4_x86_64_ib
victorapm Oct 9, 2025
8567899
vtk recipe correction - depends_on c and cxx
bmhan12 Oct 9, 2025
d2cc951
Remove noAVX builds
bmhan12 Oct 9, 2025
bf0cc94
Minor tweaks
victorapm Oct 9, 2025
3f937d1
Merge branch 'feature/han12/spack_v1_noapi' into feature/paludettomag…
victorapm Oct 9, 2025
a0ce858
Simplify packages
victorapm Oct 9, 2025
8ef9df9
Bug fix for running on compute node
victorapm Oct 9, 2025
883cfd5
Merge branch 'feature/han12/spack_v1_noapi' into feature/paludettomag…
victorapm Oct 9, 2025
d95edca
Merge branch 'master' into feature/paludettomag1/stage-2
victorapm Oct 31, 2025
ffa99c8
Merge branch 'master' into feature/paludettomag1/stage-2
rrsettgast Nov 2, 2025
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
8 changes: 4 additions & 4 deletions scripts/setupLC-TPL-uberenv.bash
Original file line number Diff line number Diff line change
Expand Up @@ -89,16 +89,16 @@ function launch_jobs() {
case "$machine" in
dane)
ALLOC_CMD="salloc -N 1 --exclusive -t 60 -A vortex -ppdebug"
"${UBERENV_HELPER}" "$INSTALL_DIR" dane gcc-12 "+docs %gcc-12 ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" dane gcc-13 "+docs %gcc-13 ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" dane gcc-12 "+docs %gcc-12 ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" dane gcc-13 "+docs %gcc-13 ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" dane llvm-14 "+docs %clang-14 ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" dane llvm-19 "+docs %clang-19 ${COMMON}" "${ALLOC_CMD}" "$@" &
;;

matrix)
ALLOC_CMD="salloc -N 1 --exclusive -t 60 -A vortex -ppdebug"
"${UBERENV_HELPER}" "$INSTALL_DIR" matrix gcc-12-cuda-12.6 "+cuda~uncrustify cuda_arch=90 %gcc-12 ^cuda@12.6.0+allow-unsupported-compilers ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" matrix gcc-13-cuda-12.9 "+cuda~uncrustify cuda_arch=90 %gcc-13 ^cuda@12.9.1+allow-unsupported-compilers ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" matrix gcc-12-cuda-12.6 "+cuda~uncrustify cuda_arch=90 %gcc-12 ^cuda@12.6.0+allow-unsupported-compilers ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" matrix gcc-13-cuda-12.9 "+cuda~uncrustify cuda_arch=90 %gcc-13 ^cuda@12.9.1+allow-unsupported-compilers ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" matrix llvm-14-cuda-12.6 "+cuda~uncrustify cuda_arch=90 %clang-14 ^cuda@12.6.0+allow-unsupported-compilers ${COMMON}" "${ALLOC_CMD}" "$@" &
"${UBERENV_HELPER}" "$INSTALL_DIR" matrix llvm-19-cuda-12.9 "+cuda~uncrustify cuda_arch=90 %clang-19 ^cuda@12.9.1+allow-unsupported-compilers ${COMMON}" "${ALLOC_CMD}" "$@" &
;;
Expand Down
22 changes: 11 additions & 11 deletions scripts/spack_configs/versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,29 @@
# This file lists the package versions for geos's dependencies
#
packages:
# v0.6.2
# v0.7.1 + CUDA CMP0146 fix
blt:
require: "@git.9ff77344f0b2a6ee345e452bddd6bfd46cbbfa35=develop"
require: "@git.fe075e596c5fde30acbe4e05f40baaf0a258ff54=develop"

# master - 06/27/25
hypre:
require: "@git.907a2d07b64fe47bdde4540c54665c83ced83a2c"
require: "@git.907a2d07b64fe47bdde4540c54665c83ced83a2c=master"

# v2025.0.3.0
# v2025.09.1
chai:
require: "@git.4b9060b18b9bec1167026cfb3132bd540c4bd56b=develop"
require: "@git.51e66b8a5a6caac41aa329c8643180b8e2b33e5f=develop"

# v2025.0.3.0
# v2025.09.0
umpire:
require: "@git.1ed0669c57f041baa1f1070693991c3a7a43e7ee=develop"
require: "@git.6b0ea9edbbbc741c8a429768d946549cd3bd7d33=develop"

# v2025.0.3.0
# v2025.09.0
raja:
require: "@git.1d70abf171474d331f1409908bdf1b1c3fe19222=develop"
require: "@git.ca756788dbdd43fec2a3840389126ae94a905d5f=develop"

# v2025.0.3.0
# v2025.09.2
camp:
require: "@git.ee0a3069a7ae72da8bcea63c06260fad34901d43=main"
require: "@git.4070ce93a802849d61037310a87c50cc24c9e498=main"

# v2.12.0
caliper:
Expand Down
15 changes: 15 additions & 0 deletions scripts/spack_packages/packages/camp/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

import os

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

class Camp(BuiltinCamp):
depends_on("cxx", type="build")

# From radiuss-packages (PR #143)
depends_on("blt@0.7.1:", type="build", when="@2025.09.0:")
depends_on("blt@0.7.0:", type="build", when="@2025.03.0:")
12 changes: 12 additions & 0 deletions scripts/spack_packages/packages/chai/package.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

import os

from spack.package import *
Expand All @@ -6,4 +10,12 @@
class Chai(BuiltinChai):
# Bypass llnl_link_helpers failure
depends_on("fortran")
depends_on("c", type="build")
depends_on("cxx", type="build")

# From radiuss-packages (PR #143)
depends_on("blt@0.7.1:", type="build", when="@2025.09.0:")
depends_on("blt@0.7.0:", type="build", when="@2025.03.0:")
depends_on("umpire@2025.09.0:", when="@2025.09.0:")
depends_on("umpire@2025.03.0:", when="@2025.03.0:")
depends_on("umpire@2024.07.0", when="@2024.07.0")
2 changes: 0 additions & 2 deletions scripts/spack_packages/packages/geosx/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
import socket
import os

import llnl.util.tty as tty

from os import environ as env
from os.path import join as pjoin

Expand Down
174 changes: 174 additions & 0 deletions scripts/spack_packages/packages/raja/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

import os

from spack.package import *
from spack_repo.builtin.packages.raja.package import Raja as BuiltinRaja

class Raja(BuiltinRaja):
depends_on("cxx", type="build")

# From radiuss-packages (PR #143)
depends_on("blt@0.7.1:", type="build", when="@2025.09.0:")
depends_on("blt@0.7.0:", type="build", when="@2025.03.0:")
depends_on("camp@main", when="@develop")
depends_on("camp@2025.09.2:", when="@2025.09.0:")
depends_on("camp@2025.03.0:", when="@2025.03.0:")
depends_on("camp@2024.07.0:", when="@2024.07.0:")
depends_on("camp@2024.02.1:", when="@2024.02.1:")

def initconfig_hardware_entries(self):
spec = self.spec
entries = super().initconfig_hardware_entries()

entries.append("#------------------{0}".format("-" * 30))
entries.append("# Package custom hardware settings")
entries.append("#------------------{0}\n".format("-" * 30))

entries.append(cmake_cache_option("ENABLE_OPENMP", spec.satisfies("+openmp")))
entries.append(cmake_cache_option("ENABLE_CUDA", spec.satisfies("+cuda")))

if spec.satisfies("+rocm"):
entries.append(cmake_cache_option("ENABLE_HIP", True))
hipcc_flags = []
if self.spec.satisfies("@2025.09.0:"):
hipcc_flags.append("-std=c++17")
elif self.spec.satisfies("@0.14.0:2025.09.0"):
hipcc_flags.append("-std=c++14")
entries.append(cmake_cache_string("HIP_HIPCC_FLAGS", " ".join(hipcc_flags)))
else:
entries.append(cmake_cache_option("ENABLE_HIP", False))

return entries

def initconfig_package_entries(self):
spec = self.spec
entries = []

option_prefix = "RAJA_" if spec.satisfies("@0.14.0:") else ""

# TPL locations
entries.append("#------------------{0}".format("-" * 60))
entries.append("# TPLs")
entries.append("#------------------{0}\n".format("-" * 60))

entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec["blt"].prefix))
if "camp" in self.spec:
entries.append(cmake_cache_path("camp_DIR", spec["camp"].prefix))

# Build options
entries.append("#------------------{0}".format("-" * 60))
entries.append("# Build Options")
entries.append("#------------------{0}\n".format("-" * 60))

entries.append(cmake_cache_string("CMAKE_BUILD_TYPE", spec.variants["build_type"].value))
entries.append(cmake_cache_option("BUILD_SHARED_LIBS", spec.satisfies("+shared")))

entries.append(cmake_cache_option("RAJA_ENABLE_DESUL_ATOMICS", spec.satisfies("+desul")))

entries.append(
cmake_cache_option("RAJA_ENABLE_VECTORIZATION", spec.satisfies("+vectorization"))
)

entries.append(cmake_cache_option("RAJA_ENABLE_OPENMP_TASK", spec.satisfies("+omptask")))

entries.append(
cmake_cache_option("RAJA_ENABLE_TARGET_OPENMP", spec.satisfies("+omptarget"))
)

entries.append(cmake_cache_option("RAJA_ENABLE_SYCL", spec.satisfies("+sycl")))
entries.append(
cmake_cache_option("RAJA_ENABLE_NV_TOOLS_EXT", spec.satisfies("+gpu-profiling +cuda"))
)
entries.append(
cmake_cache_option("RAJA_ENABLE_ROCTX", spec.satisfies("+gpu-profiling +rocm"))
)

if spec.satisfies("+lowopttest"):
entries.append(cmake_cache_string("CMAKE_CXX_FLAGS_RELEASE", "-O1"))

# C++17
if (spec.satisfies("@2025.09.0:") or
(spec.satisfies("@2024.07.0:") and spec.satisfies("+sycl"))):
entries.append(cmake_cache_string("BLT_CXX_STD", "c++17"))
# C++14
elif spec.satisfies("@0.14.0:2025.09.0"):
entries.append(cmake_cache_string("BLT_CXX_STD", "c++14"))

if spec.satisfies("+desul"):
if spec.satisfies("+cuda"):
entries.append(cmake_cache_string("CMAKE_CUDA_STANDARD", "14"))

entries.append(
cmake_cache_option("RAJA_ENABLE_RUNTIME_PLUGINS", spec.satisfies("+plugins"))
)

if spec.satisfies("+omptarget"):
entries.append(
cmake_cache_string(
"BLT_OPENMP_COMPILE_FLAGS", "-fopenmp;-fopenmp-targets=nvptx64-nvidia-cuda"
)
)
entries.append(
cmake_cache_string(
"BLT_OPENMP_LINK_FLAGS", "-fopenmp;-fopenmp-targets=nvptx64-nvidia-cuda"
)
)

entries.append(
cmake_cache_option(
"{}ENABLE_EXAMPLES".format(option_prefix), spec.satisfies("+examples")
)
)
if spec.satisfies("@0.14.0:"):
entries.append(
cmake_cache_option(
"{}ENABLE_EXERCISES".format(option_prefix), spec.satisfies("+exercises")
)
)
else:
entries.append(cmake_cache_option("ENABLE_EXERCISES", spec.satisfies("+exercises")))

# TODO: Treat the workaround when building tests with spack wrapper
# For now, removing it to test CI, which builds tests outside of wrapper.
# Work around spack adding -march=ppc64le to SPACK_TARGET_ARGS which
# is used by the spack compiler wrapper. This can go away when BLT
# removes -Werror from GTest flags
#
# if self.spec.satisfies("%clang target=ppc64le:")
# or (not self.run_tests and not spec.satisfies("+tests")):
if not self.run_tests and not spec.satisfies("+tests"):
entries.append(cmake_cache_option("ENABLE_TESTS", False))
else:
entries.append(cmake_cache_option("ENABLE_TESTS", True))
if not spec.satisfies("+run-all-tests"):
if spec.satisfies("%clang@12.0.0:13.9.999"):
entries.append(
cmake_cache_string(
"CTEST_CUSTOM_TESTS_IGNORE",
"test-algorithm-sort-OpenMP.exe;test-algorithm-stable-sort-OpenMP.exe",
)
)
excluded_tests = [
"test-algorithm-sort-Cuda.exe",
"test-algorithm-stable-sort-Cuda.exe",
"test-algorithm-sort-OpenMP.exe",
"test-algorithm-stable-sort-OpenMP.exe",
]
if spec.satisfies("+cuda %clang@12.0.0:13.9.999"):
entries.append(
cmake_cache_string("CTEST_CUSTOM_TESTS_IGNORE", ";".join(excluded_tests))
)
if spec.satisfies("+cuda %xl@16.1.1.12"):
entries.append(
cmake_cache_string(
"CTEST_CUSTOM_TESTS_IGNORE",
"test-algorithm-sort-Cuda.exe;test-algorithm-stable-sort-Cuda.exe",
)
)

entries.append(cmake_cache_option("RAJA_HOST_CONFIG_LOADED", True))

return entries
20 changes: 20 additions & 0 deletions scripts/spack_packages/packages/umpire/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

import os

from spack.package import *
from spack_repo.builtin.packages.umpire.package import Umpire as BuiltinUmpire

class Umpire(BuiltinUmpire):
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("fortran", type="build") # generated

# From radiuss-packages (PR #143)
depends_on("blt@0.7.1:", type="build", when="@2025.09.0:")
depends_on("camp@2025.09.2:", when="@2025.09.0:")
depends_on("camp@2025.03.0:", when="@2025.03.0:")

conflicts("+ipc_shmem", when="+mpi3_shmem @:2025.03.0")