Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
66ab060
add acorn deploy scripting
AlexanderRichert-NOAA Oct 3, 2025
5737a3c
Acorn site config updates for spack v1 changes
AlexanderRichert-NOAA Oct 3, 2025
a4b7a95
fetch_cargo_deps.py: fix for spack v1 update (spack->spack_repo)
AlexanderRichert-NOAA Oct 3, 2025
927912e
eliminate 'llnl' deprecation warning
AlexanderRichert-NOAA Oct 8, 2025
a24d5f9
acorn: gcc/10.3 python doesn't have yaml somehow?
AlexanderRichert-NOAA Oct 8, 2025
f1e0c68
stack_env.py: copy envrepo from template dirs if present
AlexanderRichert-NOAA Oct 8, 2025
76d64a0
deploy.py: major updates; now works with addon envs
AlexanderRichert-NOAA Oct 9, 2025
f4f2190
deployments.yaml (acorn): consolidate core and addon sections
AlexanderRichert-NOAA Oct 9, 2025
a8cf011
.gitignore: deploy_logs/
AlexanderRichert-NOAA Oct 9, 2025
b409454
stack_env.py: re-order envrepo logic so template supersedes upstream
AlexanderRichert-NOAA Oct 9, 2025
81db12b
acorn: update gcc config in oneapi packages.yaml
AlexanderRichert-NOAA Oct 9, 2025
c77fba2
delete gcc config for acorn
AlexanderRichert-NOAA Oct 9, 2025
922d45b
fetch_cargo_deps.py: first try to use each spec's rust/cargo; set PAT…
AlexanderRichert-NOAA Oct 10, 2025
bad8676
deploy.py: set up env for go+rust dep fetching
AlexanderRichert-NOAA Oct 10, 2025
a71f9dd
deploy.py: flush output more
AlexanderRichert-NOAA Oct 10, 2025
4f7cbc5
deploy.py: don't overwrite pbs pro outputs
AlexanderRichert-NOAA Oct 10, 2025
4aba260
Merge branch 'feature/update_to_spack_v1' into acorn_spackstackv2
AlexanderRichert-NOAA Oct 10, 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ __pycache__
cache
.vscode
doc/build
deploy_logs/
133 changes: 0 additions & 133 deletions configs/sites/tier1/acorn/compilers.yaml

This file was deleted.

2 changes: 2 additions & 0 deletions configs/sites/tier1/acorn/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,5 @@
externals:
- spec: [email protected]
prefix: /usr
libxslt:
require: '~crypto'
14 changes: 0 additions & 14 deletions configs/sites/tier1/acorn/packages_gcc.yaml

This file was deleted.

60 changes: 0 additions & 60 deletions configs/sites/tier1/acorn/packages_intel.yaml

This file was deleted.

75 changes: 75 additions & 0 deletions configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
packages:
### Compilers / compiler runtimes
intel-oneapi-compilers:
buildable: false
externals:
- spec: [email protected] ~envmods
modules:
- PrgEnv-intel/8.5.0
- craype/2.7.17
- intel-oneapi/2024.2
- libfabric
extra_attributes:
compilers:
c: cc
cxx: CC
fortran: ftn
flags:
cflags: '--gcc-toolchain=/opt/cray/pe/gcc/12.1.0/snos'
cxxflags: '--gcc-toolchain=/opt/cray/pe/gcc/12.1.0/snos'
fflags: '-gcc-name=/opt/cray/pe/gcc/12.1.0/snos/bin/gcc -gxx-name=/opt/cray/pe/gcc/12.1.0/snos/bin/g++'
environment:
prepend_path:
PATH: /opt/cray/pe/gcc/12.1.0/snos/bin
LD_LIBRARY_PATH: /opt/cray/pe/gcc/12.1.0/snos/lib64
LIBRARY_PATH: /opt/cray/pe/gcc/12.1.0/snos/lib64
CPATH: /opt/cray/pe/gcc/12.1.0/snos/include
set:
CONFIG_SITE: ''
INTEL_COMPILER_TYPE: RECOMMENDED
gcc:
buildable: false
externals:
- spec: [email protected] languages:='c,c++,fortran'
prefix: /opt/cray/pe/gcc/12.1.0/snos/
extra_attributes:
compilers:
c: /opt/cray/pe/gcc/12.1.0/snos/bin/gcc
cxx: /opt/cray/pe/gcc/12.1.0/snos/bin/g++
fortran: /opt/cray/pe/gcc/12.1.0/snos/bin/gfortran
environment:
set:
# OpenSUSE on WCOSS2 machines sets CONFIG_SITE so
# Automake-based builds are installed in lib64
# which confuses some packages.
CONFIG_SITE: ''
gcc-runtime:
require: '%[email protected]'
### General package/provider settings & MPI external
mpi:
buildable: false
require: ['[email protected]']
cray-mpich:
externals:
- spec: [email protected]~wrappers
prefix: /opt/cray/pe/mpich/8.1.29/ofi/intel/2022.1
modules:
- libfabric
- craype-network-ofi
- cray-mpich/8.1.29
- cray-pals
### Disable MKL
intel-oneapi-mkl:
buildable: false
blas:
require: ['openblas']
lapack:
require: ['openblas']
fftw-api:
require: ['fftw']
ectrans:
require:: ['~mkl', '+fftw']
gsibec:
require: ['~mkl']
py-numpy:
require:: ['^[virtuals=lapack,blas] openblas']
37 changes: 0 additions & 37 deletions configs/sites/tier1/acorn/packages_oneapi.yaml

This file was deleted.

3 changes: 1 addition & 2 deletions configs/sites/tier1/acorn/setup.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
## Load modules to avoid various issues with old Python versions
module load gcc/10.3.0 python/3.11.7
module load cray-python/3.11.7

## Go, Rust repo setup for fetcher scripts
export GOMODCACHE=${SPACK_STACK_DIR}/cache/go
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import shutil
from sys import platform

import llnl.util.tty as tty
import spack.llnl.util.tty as tty

from spack.extensions.stack.container_env import StackContainer
from spack.extensions.stack.stack_env import StackEnv, stack_path
Expand Down
19 changes: 14 additions & 5 deletions spack-ext/lib/jcsda-emc/spack-stack/stack/stack_env.py
Original file line number Diff line number Diff line change
Expand Up @@ -349,13 +349,14 @@ def write(self):
"version of spack-stack, or really, really know what you are doing.")
)
new_envrepo = os.path.join(self.env_dir(), "envrepo")
config_envrepo = False
for upstream_path in all_upstreams[::-1]:
envrepo_path = os.path.realpath(os.path.join(upstream_path, "../envrepo"))
if os.path.isdir(envrepo_path):
shutil.copytree(envrepo_path, new_envrepo, dirs_exist_ok=True)
if os.path.isdir(new_envrepo):
repo_cfg = "repos:[$env/envrepo]"
spack.config.add(repo_cfg, scope=env_scope)
config_envrepo = True
if config_envrepo:
spack.config.add("repos:[$env/envrepo]", scope=env_scope)

if self.modifypkg:
logging.info("Creating custom repo with packages %s" % ", ".join(self.modifypkg))
Expand Down Expand Up @@ -388,8 +389,16 @@ def write(self):
if not pkg_found:
logging.warning(f"WARNING: package '{pkg_name}' could not be found")
logging.info("Adding custom repo 'envrepo' to env config")
repo_cfg = "repos:[$env/envrepo]"
spack.config.add(repo_cfg, scope=env_scope)
spack.config.add("repos:[$env/envrepo]", scope=env_scope)

# Copy any envrepo directory associated with the template (i.e., add-on env)
if self.template:
template_envrepo_path = os.path.join(self.template_path, "envrepo")
if os.path.isdir(template_envrepo_path):
logging.info(f"Copying envrepo/ from {self.template_path}")
target_envrepo_path = os.path.join(env_dir, "envrepo")
shutil.copytree(template_envrepo_path, target_envrepo_path, dirs_exist_ok=True)
spack.config.add("repos:[$env/envrepo]", scope=env_scope)

# Merge the original spack.yaml template back in
# so it has the highest precedence
Expand Down
Loading