Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
e2809fd
Update PETSc dependency to 3.25 for ExaGO package in Spack repo.
nkoukpaizan Aug 19, 2026
07d1d28
Update documentation sources.
nkoukpaizan Aug 20, 2026
88418b1
Update Frontier Spack-built dependencies.
nkoukpaizan Aug 20, 2026
5eff0e2
Update PetscErrorMessage call to match PETSc 3.25.
nkoukpaizan Aug 20, 2026
f7d6013
Bump Spack to v1.2.2 and update local repo and Frontier build accordi…
nkoukpaizan Aug 20, 2026
9f98fb5
Minor correction.
nkoukpaizan Aug 20, 2026
7f417b2
In ExaGO Spack package, 2.0 should support PETSc 3.24 only.
nkoukpaizan Aug 20, 2026
406a64c
Bump CI base container version.
nkoukpaizan Aug 21, 2026
e79b95b
Trust keys in CI.
nkoukpaizan Aug 21, 2026
990ea8c
Remove --fresh from package install step in CI.
nkoukpaizan Aug 22, 2026
6caf587
Specify --only package on second Spack install. Dependencies should a…
nkoukpaizan Aug 22, 2026
c541130
require: %gcc --> compiler: gcc.
nkoukpaizan Aug 22, 2026
db19c5e
Remove --no-cache from package install.
nkoukpaizan Aug 22, 2026
4331caa
Revert "require: %gcc --> compiler: gcc."
nkoukpaizan Aug 22, 2026
dc40b10
Remove gcc requirement altogether.
nkoukpaizan Aug 22, 2026
fd4be38
List installed specs before package install.
nkoukpaizan Aug 22, 2026
b12e86d
Bump CI base container version.
nkoukpaizan Aug 22, 2026
76af580
Filter concrete installed specs before trying to push to the build ca…
nkoukpaizan Aug 22, 2026
9695ff0
Filter concrete installed specs before trying to push to the build ca…
nkoukpaizan Aug 22, 2026
d102ed3
Correct buildcache push argument order.
nkoukpaizan Aug 22, 2026
1904d43
Use a loop to push to the build cache.
nkoukpaizan Aug 22, 2026
785b3b5
Simly use --allow-missing when pushing to the buildcache.
nkoukpaizan Aug 22, 2026
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
13 changes: 7 additions & 6 deletions .github/workflows/spack_cpu_build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ env:
# Our repo name contains upper case characters, so we can't use ${{ github.repository }}
IMAGE_NAME: exago
USERNAME: exago-bot
BASE_VERSION: ubuntu-24.04-fortran-v0.1.0
BASE_VERSION: ubuntu-24.04-fortran-v0.3.0

# Until we remove the need to clone submodules to build, this should on be in PRs
on: [pull_request]
Expand Down Expand Up @@ -145,15 +145,13 @@ jobs:
require: +mpi~openmp
petsc:
require: ~hypre~superlu-dist~hdf5+metis
all:
require: "%gcc"
EOF

- name: Configure GHCR mirror
run: spack -e . mirror set local-buildcache

- name: Trust keys
run: spack -e . buildcache keys --install --trust
run: spack -e . buildcache keys --install --trust --yes-to-all --force

- name: Find external packages
run: spack -e . external find --all
Expand All @@ -170,8 +168,11 @@ jobs:
- name: Install dependencies
run: spack -e . install --no-check-signature --only dependencies

- name: List installed specs
run: spack -e . find -p -l

- name: Install package
run: spack -e . install --no-check-signature --fail-fast --keep-stage --no-cache --fresh
run: spack -e . install --no-check-signature --fail-fast --keep-stage --no-cache

- name: Test Build
run: cd $(spack -e . location --build-dir exago@develop) && ctest -VV
Expand All @@ -183,5 +184,5 @@ jobs:
MIRROR_USERNAME: ${{ env.USERNAME }}
MIRROR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
spack -e . buildcache push --force --base-image ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.BASE_VERSION }} --unsigned --update-index local-buildcache
spack -e . buildcache push --allow-missing --force --base-image ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.BASE_VERSION }} --unsigned --update-index local-buildcache
if: ${{ !cancelled() }}
2 changes: 1 addition & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Dependencies are broken down into three categories:

| Dependency | Dependency Version | CMake Variable (if applicable) | Notes |
|---|---|---|---|
| PETSC | >=3.24.0 | `EXAGO_ENABLE_PETSC`. `PETSC_DIR` sets the PETSC installation prefix. | Required. PETSC needs to be built with MPI if building ExaGO with MPI. [See the linked document for more information on building PETSC for ExaGO.](docs/web/petsc_install.md) |
| PETSC | >=3.25.0 | `EXAGO_ENABLE_PETSC`. `PETSC_DIR` sets the PETSC installation prefix. | Required. PETSC needs to be built with MPI if building ExaGO with MPI. [See the linked document for more information on building PETSC for ExaGO.](docs/web/petsc_install.md) |
| CMake | >=3.18 | N/A | |
| blas | | `BLAS_LIBRARIES` sets the blas libraries. | ExaGO uses the builtin [`FindBLAS` cmake module](https://cmake.org/cmake/help/latest/module/FindBLAS.html). Please refer to the linked documentation. |
| MPI | >=3 | `EXAGO_ENABLE_MPI`. `MPI_HOME` sets the MPI installation prefix. | Optional. ExaGO uses the builtin [`FindMPI` cmake module](https://cmake.org/cmake/help/latest/module/FindMPI.html). |
Expand Down
2 changes: 1 addition & 1 deletion buildsystem/spack/frontier/env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Configure python
module load cray-python/3.11.7

BASE=/lustre/orion/stf006/world-shared/$(whoami)/exago-02-2026
BASE=/lustre/orion/stf006/world-shared/$(whoami)/exago-08-2026

export SPACK_INSTALL=$BASE/spack-install
export SPACK_MODULES=modules
Expand Down
172 changes: 88 additions & 84 deletions buildsystem/spack/frontier/modules/dependencies.sh

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions buildsystem/spack/frontier/modules/exago.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module use -a /lustre/orion/stf006/world-shared/nkouk/exago-02-2026/spack-install/modules/linux-sles15-zen3
module use -a /lustre/orion/stf006/world-shared/nkouk/exago-08-2026/spack-install/modules/linux-sles15-zen3
# exago@=develop~cuda+hiop~ipo+ipopt+logging+mpi~python+raja+rocm+testing amdgpu_target:=gfx90a build_system=cmake build_type=Release dev_path=/lustre/orion/scratch/nkouk/stf006/Codes/ExaGO generator=make platform=linux os=sles15 target=zen3
module load exago/develop-gcc-14.2.0-yzuty4x
module load exago/develop-gcc-14.2.0-uk2jden
2 changes: 1 addition & 1 deletion buildsystem/spack/frontier/sbatch.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

#SBATCH -A ENG145
#SBATCH -A ENG151
#SBATCH -p batch
#SBATCH -t 100
#SBATCH -N 1
Expand Down
8 changes: 3 additions & 5 deletions buildsystem/spack/frontier/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ spack:
require: ~python+raja+hiop+rocm+ipopt amdgpu_target=gfx90a
hiop:
require: +sparse+mpi+raja+rocm~ginkgo+kron
version: [1.1.1]
ipopt:
require: '~metis+coinhsl~mumps'
# Pin OpenBlas version for consistent test results.
Expand Down Expand Up @@ -64,14 +63,13 @@ spack:
libfabric:
buildable: false
externals:
- spec: libfabric@1.22.0
- spec: libfabric@2.3.1
modules:
- libfabric/1.22.0
- libfabric/2.3.1
python:
externals:
- spec: python@3.11.7
modules:
- cray-python/3.11.7
prefix: /opt/cray/pe/python/3.11.7
buildable: false
hip:
buildable: false
Expand Down
110 changes: 0 additions & 110 deletions buildsystem/spack/spack_repo/exago/packages/coinhsl/package.py

This file was deleted.

3 changes: 2 additions & 1 deletion buildsystem/spack/spack_repo/exago/packages/exago/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,8 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on("petsc@3.16", when="@1.3:1.4")
depends_on("petsc@3.18:3.19", when="@1.5")
depends_on("petsc@3.19:3.23", when="@1.6")
depends_on("petsc@3.24:", when="@2.0:")
depends_on("petsc@3.24", when="@2.0")
depends_on("petsc@3.25:", when="@develop") # update on new release
depends_on("petsc~mpi", when="~mpi")

# Ipopt versiondependency logic
Expand Down
6 changes: 6 additions & 0 deletions buildsystem/spack/spack_repo/exago/packages/hiop/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,12 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
description="Enable/disable cuSovler LU refactorization",
)

patch(
"https://github.com/llnl/hiop/commit/1d50896dd8df0a7c853e998e6814566d8.patch?full_index=1",
sha256="e73daa7f15863cb3c9dfad9509d46984ad1943506a7a5e04183817eba6d14aed",
when="@1.2.0",
)

depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("fortran", type="build")
Expand Down
2 changes: 1 addition & 1 deletion docs/manual/getting_started.tex
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ \section{Dependencies}
\hline
\textbf{Dependency} & \textbf{Version Constraints} & \textbf{Mandatory} & \textbf{Notes} \\
\hline
\petsc & $\geq 3.24$ & \checkmark & Core dependency \\ \hline
\petsc & $\geq 3.25$ & \checkmark & Core dependency \\ \hline
\cmake & $\geq 3.18$ & \checkmark & Only a build dependency \\ \hline
MPI & $\geq 4.1$ & & Only tested with \texttt{openmpi} and \texttt{spectrummpi} \\ \hline
\ipopt & $\geq 3.14$ & & \\ \hline
Expand Down
2 changes: 1 addition & 1 deletion src/utils/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ static char ExaGOCurrentAppName[128];

ExaGOError::ExaGOError(PetscErrorCode ierr) : is_petsc_error{true} {
const char *error_message;
char *specific_error_message;
const char *specific_error_message;
PetscErrorMessage(ierr, &error_message, &specific_error_message);
message = error_message;
message += specific_error_message;
Expand Down
2 changes: 1 addition & 1 deletion tpl/spack
Submodule spack updated 548 files
Loading