From 76a48fc29fc6467f06b635b95ff70ac87931b1ce Mon Sep 17 00:00:00 2001 From: cssherman Date: Fri, 3 Oct 2025 10:14:57 -0700 Subject: [PATCH 01/15] Adding initial test files for pygeosx build --- docker/rocky-pygeosx-spack.yaml | 164 ++++++++++++++++++ ...-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 146 ++++++++++++++++ scripts/pygeosx_configs/defaults.yaml | 16 ++ scripts/pygeosx_configs/versions.yaml | 55 ++++++ .../packages/pygeosx/package.py | 10 +- 5 files changed, 386 insertions(+), 5 deletions(-) create mode 100644 docker/rocky-pygeosx-spack.yaml create mode 100644 docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile create mode 100644 scripts/pygeosx_configs/defaults.yaml create mode 100644 scripts/pygeosx_configs/versions.yaml diff --git a/docker/rocky-pygeosx-spack.yaml b/docker/rocky-pygeosx-spack.yaml new file mode 100644 index 00000000..e28742bb --- /dev/null +++ b/docker/rocky-pygeosx-spack.yaml @@ -0,0 +1,164 @@ +spack: + config: + install_tree: + root: $spack/.. + projections: + all: '{compiler.name}-{compiler.version}/{name}-{version}-{hash}' + misc_cache: $spack/../misc_cache + test_stage: $spack/../test_stage + build_stage:: + - $spack/../build_stage + + # Regular TPLs do not need views + view: false + + # Include shared variants and versions + include: + - ../defaults.yaml + - ../versions.yaml + + compilers:: + - compiler: + extra_rpaths: [] + flags: + cflags: -pthread + cxxflags: -pthread + modules: [] + operating_system: rocky8 + paths: + cc: /usr/bin/clang + cxx: /usr/bin/clang++ + f77: /usr/bin/gfortran + fc: /usr/bin/gfortran + spec: clang@17.0.6 + target: x86_64 + - compiler: + extra_rpaths: [] + flags: + cflags: -pthread + cxxflags: -pthread + modules: [] + operating_system: rocky8 + paths: + cc: /opt/rh/gcc-toolset-13/root/usr/bin/gcc + cxx: /opt/rh/gcc-toolset-13/root/usr/bin/g++ + f77: /opt/rh/gcc-toolset-13/root/usr/bin/gfortran + fc: /opt/rh/gcc-toolset-13/root/usr/bin/gfortran + spec: gcc@13.3.1 + target: x86_64 + + packages: + all: + target: [x86_64] + compiler: [gcc, clang] + providers: + blas: [netlib-lapack] + lapack: [netlib-lapack] + mpi: [openmpi] + + autoconf: + version: [2.69] + buildable: false + externals: + - spec: autoconf@2.69 + prefix: /usr + automake: + version: [1.16.1] + buildable: false + externals: + - spec: automake@1.16.1 + prefix: /usr + cmake: + version: [3.28.6] + buildable: false + externals: + - spec: cmake@3.28.6 + prefix: /usr/local + cuda: + buildable: False + externals: + - spec: cuda@12.9.1%gcc@13.3.1 +allow-unsupported-compilers + prefix: /usr/local/cuda + - spec: cuda@12.9.1%clang@17.0.6 +allow-unsupported-compilers + prefix: /usr/local/cuda + m4: + buildable: false + externals: + - spec: m4@1.4.18 + prefix: /usr + + # Spack may grab for mpi & we don't want to use them + mpi: + buildable: false + + netlib-lapack: + buildable: false + externals: + - spec: netlib-lapack@3.8.0 + prefix: /usr + netlib-blas: + buildable: false + externals: + - spec: netlib-blas@3.8.0 + prefix: /usr + openmpi: + externals: + - spec: openmpi@4.1.1 + prefix: /usr/lib64/openmpi + perl: + buildable: false + externals: + - spec: perl@5.26.3 + prefix: /usr + pkg-config: + buildable: false + externals: + - spec: pkg-config@1.4.2 + prefix: /usr + tar: + buildable: false + externals: + - spec: tar@1.34 + prefix: /usr + unzip: + buildable: false + externals: + - spec: unzip@6.0 + prefix: /usr + xz: + buildable: false + externals: + - spec: xz@5.2.5 + prefix: /usr + + # Pygeosx dependencies + openssl: + buildable: false + externals: + - spec: openssl@1.1.1 + prefix: /usr + tk: + buildable: false + externals: + - spec: tk@8.6.8 + prefix: /usr + tcl: + buildable: false + externals: + - spec: tcl@8.6.8 + prefix: /usr + gmake: + buildable: false + externals: + - spec: gmake@4.2.1 + prefix: /usr + libxcrypt: + buildable: false + externals: + - spec: libxcrypt@4.1.1 + prefix: /usr + ninja: + buildable: false + externals: + - spec: ninja@1.8.2 + prefix: /usr diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile new file mode 100644 index 00000000..9c103fd8 --- /dev/null +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -0,0 +1,146 @@ +ARG TMP_DIR=/tmp +ARG SRC_DIR=$TMP_DIR/thirdPartyLibs +ARG BLD_DIR=$TMP_DIR/build + +FROM nvidia/cuda:12.9.1-devel-rockylinux8 AS tpl_toolchain_intersect_geosx_toolchain +ARG SRC_DIR + +ARG INSTALL_DIR +ENV GEOSX_TPL_DIR=$INSTALL_DIR + +# Installing dependencies +RUN dnf clean all && \ + dnf -y update && \ + dnf -y install \ + which \ + gcc-toolset-13 \ + python3.12-tkinter \ + zlib-devel \ + tbb \ + blas \ + lapack \ + openmpi \ + openmpi-devel \ + # Additional spack dependencies + python3-pip \ + unzip \ + mpfr-devel \ + bzip2 \ + gnupg \ + xz \ + python3-virtualenv + +# Install clingo for Spack +RUN python3 -m pip install --upgrade pip && \ + python3 -m pip install clingo + +# Custom install script for CMake or other tools +RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh + +# Installing TPL's +FROM tpl_toolchain_intersect_geosx_toolchain AS tpl_toolchain +ARG SRC_DIR +ARG BLD_DIR + +# Install additional required packages +RUN dnf clean all && \ + dnf -y update && \ + dnf -y install 'dnf-command(config-manager)' && \ + dnf -y install dnf-plugins-core && \ + dnf config-manager --set-enabled powertools && \ + dnf -y install \ + tbb-devel \ + bc \ + file \ + patch \ + ca-certificates \ + autoconf \ + automake \ + m4 \ + git \ + openssl \ + make \ + ninja-build + +# # Run uberenv +# # Have to create install directory first for uberenv +# # -k flag is to ignore SSL errors +# RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ +# mkdir -p ${GEOSX_TPL_DIR} && \ +# # Create symlink to openmpi include directory +# ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ +# # Create symlinks to blas/lapack libraries +# ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ +# ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so && \ +# ./scripts/uberenv/uberenv.py \ +# --spec "%gcc@13.3.1+cuda+pygeosx~uncrustify~openmp cuda_arch=70 ^cuda@12.9.1+allow-unsupported-compilers ^caliper~gotcha~sampler~libunwind~libdw~papi" \ +# --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ +# --project-json=.uberenv_config.json \ +# --prefix ${GEOSX_TPL_DIR} \ +# -k && \ +# # Remove host-config generated for LvArray +# rm lvarray* && \ +# # Rename and copy spack-generated host-config to root directory +# cp *.cmake /spack-generated.cmake && \ +# # Remove extraneous spack files +# cd ${GEOSX_TPL_DIR} && \ +# rm -rf bin/ build_stage/ misc_cache/ spack/ spack_env/ .spack-db/ + +# # Run uberenv +# # Have to create install directory first for uberenv +# # -k flag is to ignore SSL errors +# RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ +# mkdir -p ${GEOSX_TPL_DIR} && \ +# # Create symlink to openmpi include directory +# ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ +# # Create symlinks to blas/lapack libraries +# ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ +# ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so && \ +# ./scripts/uberenv/uberenv.py \ +# --spec "%gcc@13.3.1" \ +# --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ +# --project-json=./scripts/pygeosx_configs/pygeosx.json \ +# --prefix ${GEOSX_TPL_DIR} \ +# -k && \ +# # Remove host-config generated for LvArray +# rm lvarray* && \ +# # Rename and copy spack-generated host-config to root directory +# cp *.cmake /spack-generated.cmake && \ +# # Remove extraneous spack files +# cd ${GEOSX_TPL_DIR} && \ +# rm -rf bin/ build_stage/ misc_cache/ spack/ spack_env/ .spack-db/ + + +# # Extract only TPL's from the previous stage +# FROM tpl_toolchain_intersect_geosx_toolchain AS geosx_toolchain +# ARG SRC_DIR + +# COPY --from=tpl_toolchain $GEOSX_TPL_DIR $GEOSX_TPL_DIR + +# # Extract the generated host-config +# COPY --from=tpl_toolchain /spack-generated.cmake / + +# # Final installation of packages and tools +# RUN dnf clean all && \ +# rm -rf /var/cache/dnf && \ +# dnf -y install dnf-plugins-core && \ +# dnf config-manager --set-enabled devel && \ +# dnf -y update && \ +# dnf -y install \ +# openssh-clients \ +# ca-certificates \ +# curl \ +# python3 \ +# texlive \ +# graphviz \ +# ninja-build \ +# git && \ +# # Regenerate symlink to openmpi include directory +# ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ +# # Regenerate symlinks to blas/lapack libraries +# ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ +# ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so + +# # Install sccache +# RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-sccache.sh +# ENV SCCACHE=/opt/sccache/bin/sccache diff --git a/scripts/pygeosx_configs/defaults.yaml b/scripts/pygeosx_configs/defaults.yaml new file mode 100644 index 00000000..6b36e02e --- /dev/null +++ b/scripts/pygeosx_configs/defaults.yaml @@ -0,0 +1,16 @@ +#------------------------------------------------------------------------------------------------------------ +# SPDX-License-Identifier: LGPL-2.1-only +# +# Copyright (c) 2018-2020 Lawrence Livermore National Security LLC +# Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University +# Copyright (c) 2018-2020 TotalEnergies +# Copyright (c) 2019- GEOSX Contributors +# All rights reserved +# +# See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details. +#------------------------------------------------------------------------------------------------------------ + +# +# This file lists the default package variants for geos's dependencies +# (empty for now - default variants defined in the package.py for geos) +# diff --git a/scripts/pygeosx_configs/versions.yaml b/scripts/pygeosx_configs/versions.yaml new file mode 100644 index 00000000..37052ab1 --- /dev/null +++ b/scripts/pygeosx_configs/versions.yaml @@ -0,0 +1,55 @@ +#------------------------------------------------------------------------------------------------------------ +# SPDX-License-Identifier: LGPL-2.1-only +# +# Copyright (c) 2018-2020 Lawrence Livermore National Security LLC +# Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University +# Copyright (c) 2018-2020 TotalEnergies +# Copyright (c) 2019- GEOSX Contributors +# All rights reserved +# +# See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details. +#------------------------------------------------------------------------------------------------------------ + +# +# This file lists the package versions for geos's dependencies +# +packages: + # v0.6.2 + blt: + require: "@git.9ff77344f0b2a6ee345e452bddd6bfd46cbbfa35=develop" + + # master - 06/27/25 + hypre: + require: "@git.907a2d07b64fe47bdde4540c54665c83ced83a2c" + + # v2025.0.3.0 + chai: + require: "@git.4b9060b18b9bec1167026cfb3132bd540c4bd56b=develop" + + # v2025.0.3.0 + umpire: + require: "@git.1ed0669c57f041baa1f1070693991c3a7a43e7ee=develop" + + # v2025.0.3.0 + raja: + require: "@git.1d70abf171474d331f1409908bdf1b1c3fe19222=develop" + + # v2025.0.3.0 + camp: + require: "@git.ee0a3069a7ae72da8bcea63c06260fad34901d43=main" + + # v2.12.0 + caliper: + require: "@git.287b7f3ad2d12f520aad04268d44f353cd05403c" + + # v0.9.2 + conduit: + require: "@git.ad86e316ad56a75c099d30ca5ce75cff275b5924=develop" + + # master - 04/12/20 + uncrustify: + require: "@git.401a4098bce9dcc47e024987403f2d59d9ba7bd2" + + # master - 04/26/20 + superlu-dist: + require: "@git.0f6efc377df2440c235452d13d28d2c717f832a1" diff --git a/scripts/spack_packages/packages/pygeosx/package.py b/scripts/spack_packages/packages/pygeosx/package.py index aaa1ddc4..3c6a64a9 100644 --- a/scripts/spack_packages/packages/pygeosx/package.py +++ b/scripts/spack_packages/packages/pygeosx/package.py @@ -13,13 +13,13 @@ class Pygeosx(BundlePackage): version('fakeversion') - depends_on("py-numpy@1.21.0:1.23.4+blas+lapack") + depends_on("py-numpy@1.21.0:+blas+lapack") depends_on('py-mpi4py') - depends_on('py-virtualenv') + # depends_on('py-virtualenv') depends_on('python@3.10:+shared+pic+tkinter+optimizations') depends_on("py-scipy") depends_on("openblas") depends_on("py-matplotlib") - depends_on("py-sphinx") - depends_on("py-sphinx-argparse") - depends_on("py-test") + # depends_on("py-sphinx") + # depends_on("py-sphinx-argparse") + # depends_on("py-test") From 49f05e09412cb6122054c0597175b7fe008676e8 Mon Sep 17 00:00:00 2001 From: cssherman Date: Fri, 3 Oct 2025 11:36:08 -0700 Subject: [PATCH 02/15] Testing fixes to pygeosx build --- ...-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 26 +++++++------------ .../packages/pygeosx/package.py | 13 +++------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 9c103fd8..cb772fe3 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -22,17 +22,16 @@ RUN dnf clean all && \ openmpi \ openmpi-devel \ # Additional spack dependencies - python3-pip \ unzip \ mpfr-devel \ bzip2 \ gnupg \ - xz \ - python3-virtualenv + xz # Install clingo for Spack -RUN python3 -m pip install --upgrade pip && \ - python3 -m pip install clingo +RUN python3.12 -m ensurepip && \ + python3.12 -m pip install --upgrade pip && \ + python3.12 -m pip install clingo # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh @@ -73,18 +72,11 @@ RUN dnf clean all && \ # ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ # ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so && \ # ./scripts/uberenv/uberenv.py \ -# --spec "%gcc@13.3.1+cuda+pygeosx~uncrustify~openmp cuda_arch=70 ^cuda@12.9.1+allow-unsupported-compilers ^caliper~gotcha~sampler~libunwind~libdw~papi" \ +# --spec "%gcc@13.3.1 ^python@3.12" \ # --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ -# --project-json=.uberenv_config.json \ +# --project-json=./scripts/pygeosx_configs/pygeosx.json \ # --prefix ${GEOSX_TPL_DIR} \ -# -k && \ -# # Remove host-config generated for LvArray -# rm lvarray* && \ -# # Rename and copy spack-generated host-config to root directory -# cp *.cmake /spack-generated.cmake && \ -# # Remove extraneous spack files -# cd ${GEOSX_TPL_DIR} && \ -# rm -rf bin/ build_stage/ misc_cache/ spack/ spack_env/ .spack-db/ +# -k # # Run uberenv # # Have to create install directory first for uberenv @@ -97,9 +89,9 @@ RUN dnf clean all && \ # ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ # ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so && \ # ./scripts/uberenv/uberenv.py \ -# --spec "%gcc@13.3.1" \ +# --spec "%gcc@13.3.1+cuda+pygeosx~uncrustify~openmp cuda_arch=70 ^cuda@12.9.1+allow-unsupported-compilers ^caliper~gotcha~sampler~libunwind~libdw~papi" \ # --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ -# --project-json=./scripts/pygeosx_configs/pygeosx.json \ +# --project-json=.uberenv_config.json \ # --prefix ${GEOSX_TPL_DIR} \ # -k && \ # # Remove host-config generated for LvArray diff --git a/scripts/spack_packages/packages/pygeosx/package.py b/scripts/spack_packages/packages/pygeosx/package.py index 3c6a64a9..d08e269e 100644 --- a/scripts/spack_packages/packages/pygeosx/package.py +++ b/scripts/spack_packages/packages/pygeosx/package.py @@ -12,14 +12,9 @@ class Pygeosx(BundlePackage): builds of python tend to be much slower). """ version('fakeversion') - + depends_on("openblas") + depends_on('python@3.10:+shared+pic+tkinter') depends_on("py-numpy@1.21.0:+blas+lapack") depends_on('py-mpi4py') - # depends_on('py-virtualenv') - depends_on('python@3.10:+shared+pic+tkinter+optimizations') - depends_on("py-scipy") - depends_on("openblas") - depends_on("py-matplotlib") - # depends_on("py-sphinx") - # depends_on("py-sphinx-argparse") - # depends_on("py-test") + # depends_on("py-scipy") + # depends_on("py-matplotlib") From cc8dc97620fbdc53f794537db72c7ffcc35b72ab Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 10:53:21 -0700 Subject: [PATCH 03/15] Testing pygeosx config for rockylinux --- .github/workflows/docker_build_tpls.yml | 4 + docker/rocky-pygeosx-spack.yaml | 15 -- ...-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 149 ++++++++---------- .../packages/pygeosx/package.py | 2 +- 4 files changed, 73 insertions(+), 97 deletions(-) diff --git a/.github/workflows/docker_build_tpls.yml b/.github/workflows/docker_build_tpls.yml index b4181e62..589c4fe3 100644 --- a/.github/workflows/docker_build_tpls.yml +++ b/.github/workflows/docker_build_tpls.yml @@ -57,6 +57,10 @@ jobs: DOCKER_REPOSITORY: geosx/rockylinux8-gcc13-cuda12.9.1 TPL_DOCKERFILE: docker/tpl-rockylinux-gcc-cuda-12.Dockerfile RUNS_ON: Runner_4core_16GB + - name: Rockylinux_pygeosx (8, gcc 13.3, cuda 12.9.1) + DOCKER_REPOSITORY: geosx/rockylinux8-gcc13-cuda12.9.1 + TPL_DOCKERFILE: docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile + RUNS_ON: Runner_4core_16GB - name: Rockylinux (8, clang 17.0.6, cuda 12.9.1) DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.9.1 TPL_DOCKERFILE: docker/tpl-rockylinux-clang-cuda-12.Dockerfile diff --git a/docker/rocky-pygeosx-spack.yaml b/docker/rocky-pygeosx-spack.yaml index e28742bb..e3a2dab3 100644 --- a/docker/rocky-pygeosx-spack.yaml +++ b/docker/rocky-pygeosx-spack.yaml @@ -147,18 +147,3 @@ spack: externals: - spec: tcl@8.6.8 prefix: /usr - gmake: - buildable: false - externals: - - spec: gmake@4.2.1 - prefix: /usr - libxcrypt: - buildable: false - externals: - - spec: libxcrypt@4.1.1 - prefix: /usr - ninja: - buildable: false - externals: - - spec: ninja@1.8.2 - prefix: /usr diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index cb772fe3..152db2e8 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -14,7 +14,7 @@ RUN dnf clean all && \ dnf -y install \ which \ gcc-toolset-13 \ - python3.12-tkinter \ + python3-tkinter \ zlib-devel \ tbb \ blas \ @@ -26,12 +26,13 @@ RUN dnf clean all && \ mpfr-devel \ bzip2 \ gnupg \ - xz + xz \ + python3-pip \ + python3-virtualenv # Install clingo for Spack -RUN python3.12 -m ensurepip && \ - python3.12 -m pip install --upgrade pip && \ - python3.12 -m pip install clingo +RUN python3 -m pip install --upgrade pip && \ + python3 -m pip install clingo # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh @@ -44,9 +45,6 @@ ARG BLD_DIR # Install additional required packages RUN dnf clean all && \ dnf -y update && \ - dnf -y install 'dnf-command(config-manager)' && \ - dnf -y install dnf-plugins-core && \ - dnf config-manager --set-enabled powertools && \ dnf -y install \ tbb-devel \ bc \ @@ -57,82 +55,71 @@ RUN dnf clean all && \ automake \ m4 \ git \ - openssl \ - make \ - ninja-build - -# # Run uberenv -# # Have to create install directory first for uberenv -# # -k flag is to ignore SSL errors -# RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ -# mkdir -p ${GEOSX_TPL_DIR} && \ -# # Create symlink to openmpi include directory -# ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ -# # Create symlinks to blas/lapack libraries -# ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ -# ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so && \ -# ./scripts/uberenv/uberenv.py \ -# --spec "%gcc@13.3.1 ^python@3.12" \ -# --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ -# --project-json=./scripts/pygeosx_configs/pygeosx.json \ -# --prefix ${GEOSX_TPL_DIR} \ -# -k - -# # Run uberenv -# # Have to create install directory first for uberenv -# # -k flag is to ignore SSL errors -# RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ -# mkdir -p ${GEOSX_TPL_DIR} && \ -# # Create symlink to openmpi include directory -# ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ -# # Create symlinks to blas/lapack libraries -# ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ -# ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so && \ -# ./scripts/uberenv/uberenv.py \ -# --spec "%gcc@13.3.1+cuda+pygeosx~uncrustify~openmp cuda_arch=70 ^cuda@12.9.1+allow-unsupported-compilers ^caliper~gotcha~sampler~libunwind~libdw~papi" \ -# --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ -# --project-json=.uberenv_config.json \ -# --prefix ${GEOSX_TPL_DIR} \ -# -k && \ -# # Remove host-config generated for LvArray -# rm lvarray* && \ -# # Rename and copy spack-generated host-config to root directory -# cp *.cmake /spack-generated.cmake && \ -# # Remove extraneous spack files -# cd ${GEOSX_TPL_DIR} && \ -# rm -rf bin/ build_stage/ misc_cache/ spack/ spack_env/ .spack-db/ + openssl +# Run uberenv +# Have to create install directory first for uberenv +# -k flag is to ignore SSL errors +RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ + mkdir -p ${GEOSX_TPL_DIR} && \ +# Create symlink to openmpi include directory + ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ +# Create symlinks to blas/lapack libraries + ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ + ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so && \ + ./scripts/uberenv/uberenv.py \ + --spec "%gcc@13.3.1+cuda+pygeosx~uncrustify~openmp cuda_arch=70 ^cuda@12.9.1+allow-unsupported-compilers ^caliper~gotcha~sampler~libunwind~libdw~papi" \ + --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ + --project-json=.uberenv_config.json \ + --prefix ${GEOSX_TPL_DIR} \ + -k && \ +# Rename and copy spack-generated host-config to root directory + cp *.cmake /spack-generated.cmake && \ +# Build pygeosx tpl's + ./scripts/uberenv/uberenv.py \ + --spec "%gcc@13.3.1" \ + --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ + --project-json=./scripts/pygeosx_configs/pygeosx.json \ + --prefix ${GEOSX_TPL_DIR} \ + -k +# Remove host-config generated for LvArray + rm lvarray* && \ +# Rename and copy spack-generated host-config to root directory + cp *.cmake /spack-generated-pygeosx.cmake && \ +# Remove extraneous spack files + cd ${GEOSX_TPL_DIR} && \ + rm -rf bin/ build_stage/ misc_cache/ spack/ spack_env/ .spack-db/ -# # Extract only TPL's from the previous stage -# FROM tpl_toolchain_intersect_geosx_toolchain AS geosx_toolchain -# ARG SRC_DIR +# Extract only TPL's from the previous stage +FROM tpl_toolchain_intersect_geosx_toolchain AS geosx_toolchain +ARG SRC_DIR -# COPY --from=tpl_toolchain $GEOSX_TPL_DIR $GEOSX_TPL_DIR +COPY --from=tpl_toolchain $GEOSX_TPL_DIR $GEOSX_TPL_DIR -# # Extract the generated host-config -# COPY --from=tpl_toolchain /spack-generated.cmake / +# Extract the generated host-config +COPY --from=tpl_toolchain /spack-generated.cmake / -# # Final installation of packages and tools -# RUN dnf clean all && \ -# rm -rf /var/cache/dnf && \ -# dnf -y install dnf-plugins-core && \ -# dnf config-manager --set-enabled devel && \ -# dnf -y update && \ -# dnf -y install \ -# openssh-clients \ -# ca-certificates \ -# curl \ -# python3 \ -# texlive \ -# graphviz \ -# ninja-build \ -# git && \ -# # Regenerate symlink to openmpi include directory -# ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ -# # Regenerate symlinks to blas/lapack libraries -# ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ -# ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so +# Final installation of packages and tools +RUN dnf clean all && \ + rm -rf /var/cache/dnf && \ + dnf -y install dnf-plugins-core && \ + dnf config-manager --set-enabled devel && \ + dnf -y update && \ + dnf -y install \ + openssh-clients \ + ca-certificates \ + curl \ + python3 \ + texlive \ + graphviz \ + ninja-build \ + git && \ +# Regenerate symlink to openmpi include directory + ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ +# Regenerate symlinks to blas/lapack libraries + ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ + ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so -# # Install sccache -# RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-sccache.sh -# ENV SCCACHE=/opt/sccache/bin/sccache +# Install sccache +RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-sccache.sh +ENV SCCACHE=/opt/sccache/bin/sccache diff --git a/scripts/spack_packages/packages/pygeosx/package.py b/scripts/spack_packages/packages/pygeosx/package.py index d08e269e..ff7487e5 100644 --- a/scripts/spack_packages/packages/pygeosx/package.py +++ b/scripts/spack_packages/packages/pygeosx/package.py @@ -12,7 +12,7 @@ class Pygeosx(BundlePackage): builds of python tend to be much slower). """ version('fakeversion') - depends_on("openblas") + # depends_on("openblas") depends_on('python@3.10:+shared+pic+tkinter') depends_on("py-numpy@1.21.0:+blas+lapack") depends_on('py-mpi4py') From 08f30086c38335fc596ece6e640d5b087f5e264f Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 10:57:09 -0700 Subject: [PATCH 04/15] Testing pygeosx config for rockylinux --- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 152db2e8..3157c5e5 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -81,7 +81,7 @@ RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ --project-json=./scripts/pygeosx_configs/pygeosx.json \ --prefix ${GEOSX_TPL_DIR} \ - -k + -k && \ # Remove host-config generated for LvArray rm lvarray* && \ # Rename and copy spack-generated host-config to root directory From 405663bd7c56742c92471938268d3753203f7bf1 Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 12:59:44 -0700 Subject: [PATCH 05/15] Testing pygeosx config for rockylinux --- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 3157c5e5..9e6bc693 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -74,6 +74,7 @@ RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ --prefix ${GEOSX_TPL_DIR} \ -k && \ # Rename and copy spack-generated host-config to root directory + ls | grep cmake && \ cp *.cmake /spack-generated.cmake && \ # Build pygeosx tpl's ./scripts/uberenv/uberenv.py \ @@ -85,6 +86,7 @@ RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ # Remove host-config generated for LvArray rm lvarray* && \ # Rename and copy spack-generated host-config to root directory + ls | grep cmake && \ cp *.cmake /spack-generated-pygeosx.cmake && \ # Remove extraneous spack files cd ${GEOSX_TPL_DIR} && \ From 1772be4303060016d5ec7d410fb71ac364732aad Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 14:50:58 -0700 Subject: [PATCH 06/15] Debugging pygeosx build --- .github/workflows/docker_build_tpls.yml | 116 +++++++++--------- .../tpl-rockylinux-clang-cuda-12.Dockerfile | 9 +- ...-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 7 +- 3 files changed, 65 insertions(+), 67 deletions(-) diff --git a/.github/workflows/docker_build_tpls.yml b/.github/workflows/docker_build_tpls.yml index 589c4fe3..e96857a5 100644 --- a/.github/workflows/docker_build_tpls.yml +++ b/.github/workflows/docker_build_tpls.yml @@ -19,40 +19,40 @@ jobs: matrix: include: - - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3) - DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9 - TPL_DOCKERFILE: docker/tpl-ubuntu-gcc.Dockerfile - DOCKER_ROOT_IMAGE: ubuntu:20.04 - DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=9" - RUNS_ON: ubuntu-latest - - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces - DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 - TPL_DOCKERFILE: docker/tpl-ubuntu-gcc.Dockerfile - DOCKER_ROOT_IMAGE: mcr.microsoft.com/vscode/devcontainers/base:ubuntu-20.04 - DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=10" - RUNS_ON: ubuntu-latest - - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2) - DOCKER_ROOT_IMAGE: ubuntu:22.04 - DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 - TPL_DOCKERFILE: docker/tpl-ubuntu-gcc.Dockerfile - DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=11" - RUNS_ON: ubuntu-latest - - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) - DOCKER_ROOT_IMAGE: ubuntu:22.04 - DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 - TPL_DOCKERFILE: docker/tpl-ubuntu-gcc.Dockerfile - DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=12" - RUNS_ON: ubuntu-latest - - name: Ubuntu (22.04, clang 15.0.7 + gcc 11.4.0, open-mpi 4.1.2) - DOCKER_ROOT_IMAGE: ubuntu:22.04 - DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 - TPL_DOCKERFILE: docker/tpl-ubuntu-clang.Dockerfile - DOCKER_COMPILER_BUILD_ARG: "--build-arg CLANG_MAJOR_VERSION=15 --build-arg GCC_MAJOR_VERSION=11" - RUNS_ON: ubuntu-latest - - name: Ubuntu (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) - DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89 - TPL_DOCKERFILE: docker/tpl-ubuntu-clang-cuda.Dockerfile - RUNS_ON: ubuntu-latest + # - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3) + # DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9 + # TPL_DOCKERFILE: docker/tpl-ubuntu-gcc.Dockerfile + # DOCKER_ROOT_IMAGE: ubuntu:20.04 + # DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=9" + # RUNS_ON: ubuntu-latest + # - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces + # DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 + # TPL_DOCKERFILE: docker/tpl-ubuntu-gcc.Dockerfile + # DOCKER_ROOT_IMAGE: mcr.microsoft.com/vscode/devcontainers/base:ubuntu-20.04 + # DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=10" + # RUNS_ON: ubuntu-latest + # - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2) + # DOCKER_ROOT_IMAGE: ubuntu:22.04 + # DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 + # TPL_DOCKERFILE: docker/tpl-ubuntu-gcc.Dockerfile + # DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=11" + # RUNS_ON: ubuntu-latest + # - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) + # DOCKER_ROOT_IMAGE: ubuntu:22.04 + # DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 + # TPL_DOCKERFILE: docker/tpl-ubuntu-gcc.Dockerfile + # DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=12" + # RUNS_ON: ubuntu-latest + # - name: Ubuntu (22.04, clang 15.0.7 + gcc 11.4.0, open-mpi 4.1.2) + # DOCKER_ROOT_IMAGE: ubuntu:22.04 + # DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 + # TPL_DOCKERFILE: docker/tpl-ubuntu-clang.Dockerfile + # DOCKER_COMPILER_BUILD_ARG: "--build-arg CLANG_MAJOR_VERSION=15 --build-arg GCC_MAJOR_VERSION=11" + # RUNS_ON: ubuntu-latest + # - name: Ubuntu (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) + # DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89 + # TPL_DOCKERFILE: docker/tpl-ubuntu-clang-cuda.Dockerfile + # RUNS_ON: ubuntu-latest - name: Rockylinux (8, gcc 13.3, cuda 12.9.1) DOCKER_REPOSITORY: geosx/rockylinux8-gcc13-cuda12.9.1 TPL_DOCKERFILE: docker/tpl-rockylinux-gcc-cuda-12.Dockerfile @@ -61,30 +61,30 @@ jobs: DOCKER_REPOSITORY: geosx/rockylinux8-gcc13-cuda12.9.1 TPL_DOCKERFILE: docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile RUNS_ON: Runner_4core_16GB - - name: Rockylinux (8, clang 17.0.6, cuda 12.9.1) - DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.9.1 - TPL_DOCKERFILE: docker/tpl-rockylinux-clang-cuda-12.Dockerfile - RUNS_ON: Runner_4core_16GB - - name: Pangea 3 (AlmaLinux 8.8, gcc 9.4.0, open-mpi 4.1.2, cuda 11.5.0, openblas 0.3.10) - DOCKER_REPOSITORY: geosx/pangea3-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18 - TPL_DOCKERFILE: docker/TotalEnergies/Pangea3.Dockerfile - DOCKER_ROOT_IMAGE: 7g8efcehpff/pangea-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18:4 - HOST_ARCH: ppc64le - RUNS_ON: streak2 - - name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10, zlib 1.2.11) - DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11 - TPL_DOCKERFILE: docker/Stanford/Dockerfile - DOCKER_ROOT_IMAGE: matteofrigo5/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11-cmake3.31.4-no-geosx:0.0.1 - SPEC: "%gcc@10.1.0~pygeosx~openmp" - INSTALL_DIR_ROOT: /oak/stanford/groups/tchelepi/geos-sherlock/CPU - RUNS_ON: ubuntu-latest - - name: Sherlock GPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, cuda 12.4.0, openblas 0.3.10, zlib 1.2.11) - DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11 - TPL_DOCKERFILE: docker/Stanford/Dockerfile - DOCKER_ROOT_IMAGE: matteofrigo5/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11-cmake3.31.4-no-geosx:0.0.1 - SPEC: "%gcc@10.1.0~pygeosx~openmp cuda_arch=70 ^cuda@12.4.0+allow-unsupported-compilers" - INSTALL_DIR_ROOT: /oak/stanford/groups/tchelepi/geos-sherlock/GPU - RUNS_ON: ubuntu-latest + # - name: Rockylinux (8, clang 17.0.6, cuda 12.9.1) + # DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.9.1 + # TPL_DOCKERFILE: docker/tpl-rockylinux-clang-cuda-12.Dockerfile + # RUNS_ON: Runner_4core_16GB + # - name: Pangea 3 (AlmaLinux 8.8, gcc 9.4.0, open-mpi 4.1.2, cuda 11.5.0, openblas 0.3.10) + # DOCKER_REPOSITORY: geosx/pangea3-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18 + # TPL_DOCKERFILE: docker/TotalEnergies/Pangea3.Dockerfile + # DOCKER_ROOT_IMAGE: 7g8efcehpff/pangea-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18:4 + # HOST_ARCH: ppc64le + # RUNS_ON: streak2 + # - name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10, zlib 1.2.11) + # DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11 + # TPL_DOCKERFILE: docker/Stanford/Dockerfile + # DOCKER_ROOT_IMAGE: matteofrigo5/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11-cmake3.31.4-no-geosx:0.0.1 + # SPEC: "%gcc@10.1.0~pygeosx~openmp" + # INSTALL_DIR_ROOT: /oak/stanford/groups/tchelepi/geos-sherlock/CPU + # RUNS_ON: ubuntu-latest + # - name: Sherlock GPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, cuda 12.4.0, openblas 0.3.10, zlib 1.2.11) + # DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11 + # TPL_DOCKERFILE: docker/Stanford/Dockerfile + # DOCKER_ROOT_IMAGE: matteofrigo5/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11-cmake3.31.4-no-geosx:0.0.1 + # SPEC: "%gcc@10.1.0~pygeosx~openmp cuda_arch=70 ^cuda@12.4.0+allow-unsupported-compilers" + # INSTALL_DIR_ROOT: /oak/stanford/groups/tchelepi/geos-sherlock/GPU + # RUNS_ON: ubuntu-latest steps: - name: Checkout diff --git a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile index bffe8879..dc3dc9e2 100644 --- a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile @@ -24,19 +24,18 @@ RUN dnf clean all && \ openmpi \ openmpi-devel \ # Additional spack dependencies - python3-pip \ unzip \ mpfr-devel \ bzip2 \ gnupg \ - xz \ - python3-virtualenv + xz RUN dnf config-manager --set-enabled & # Install clingo for Spack -RUN python3 -m pip install --upgrade pip && \ - python3 -m pip install clingo +RUN python3 -m ensurepip && \ + python3 -m pip install --upgrade pip && \ + python3 -m pip install clingo virtualenv RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 9e6bc693..497744af 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -73,8 +73,9 @@ RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ --project-json=.uberenv_config.json \ --prefix ${GEOSX_TPL_DIR} \ -k && \ +# Remove host-config generated for LvArray + rm lvarray* && \ # Rename and copy spack-generated host-config to root directory - ls | grep cmake && \ cp *.cmake /spack-generated.cmake && \ # Build pygeosx tpl's ./scripts/uberenv/uberenv.py \ @@ -83,10 +84,8 @@ RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ --project-json=./scripts/pygeosx_configs/pygeosx.json \ --prefix ${GEOSX_TPL_DIR} \ -k && \ -# Remove host-config generated for LvArray - rm lvarray* && \ # Rename and copy spack-generated host-config to root directory - ls | grep cmake && \ + rm lvarray* && \ cp *.cmake /spack-generated-pygeosx.cmake && \ # Remove extraneous spack files cd ${GEOSX_TPL_DIR} && \ From 1b0c9d1a0128275861eba03d11e1845bd4378600 Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 14:58:21 -0700 Subject: [PATCH 07/15] Debugging pygeosx build --- docker/tpl-rockylinux-clang-cuda-12.Dockerfile | 2 +- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 9 ++++----- docker/tpl-rockylinux-gcc-cuda-12.Dockerfile | 9 ++++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile index dc3dc9e2..de07c668 100644 --- a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile @@ -33,7 +33,7 @@ RUN dnf clean all && \ RUN dnf config-manager --set-enabled & # Install clingo for Spack -RUN python3 -m ensurepip && \ +RUN python3 -m pip ensurepip && \ python3 -m pip install --upgrade pip && \ python3 -m pip install clingo virtualenv diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 497744af..f17af1d7 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -26,13 +26,12 @@ RUN dnf clean all && \ mpfr-devel \ bzip2 \ gnupg \ - xz \ - python3-pip \ - python3-virtualenv + xz # Install clingo for Spack -RUN python3 -m pip install --upgrade pip && \ - python3 -m pip install clingo +RUN python3 -m pip ensurepip && \ + python3 -m pip install --upgrade pip && \ + python3 -m pip install clingo virtualenv # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh diff --git a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile index faf56712..e7aabf8f 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile @@ -22,17 +22,16 @@ RUN dnf clean all && \ openmpi \ openmpi-devel \ # Additional spack dependencies - python3-pip \ unzip \ mpfr-devel \ bzip2 \ gnupg \ - xz \ - python3-virtualenv + xz # Install clingo for Spack -RUN python3 -m pip install --upgrade pip && \ - python3 -m pip install clingo +RUN python3 -m pip ensurepip && \ + python3 -m pip install --upgrade pip && \ + python3 -m pip install clingo virtualenv # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh From 92914b5b02bd12520c7ce616a67d3bf4aeacfdae Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 15:06:54 -0700 Subject: [PATCH 08/15] Debugging pygeosx build --- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index f17af1d7..0d372491 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -29,7 +29,9 @@ RUN dnf clean all && \ xz # Install clingo for Spack -RUN python3 -m pip ensurepip && \ +RUN ls /usr/bin | grep python && \ + which python && \ + python3 -m pip ensurepip && \ python3 -m pip install --upgrade pip && \ python3 -m pip install clingo virtualenv From 5f3580d50f64be1f8994243910da5b8f46e4a145 Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 15:14:12 -0700 Subject: [PATCH 09/15] Debugging pygeosx build --- docker/tpl-rockylinux-clang-cuda-12.Dockerfile | 8 ++++---- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 10 +++++----- docker/tpl-rockylinux-gcc-cuda-12.Dockerfile | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile index de07c668..fa9a6415 100644 --- a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile @@ -16,7 +16,7 @@ RUN dnf clean all && \ which \ clang-17.0.6 \ gcc-gfortran \ - python3 \ + python3.11 \ zlib-devel \ tbb \ blas \ @@ -33,9 +33,9 @@ RUN dnf clean all && \ RUN dnf config-manager --set-enabled & # Install clingo for Spack -RUN python3 -m pip ensurepip && \ - python3 -m pip install --upgrade pip && \ - python3 -m pip install clingo virtualenv +RUN python3.11 -m pip ensurepip && \ + python3.11 -m pip install --upgrade pip && \ + python3.11 -m pip install clingo virtualenv RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 0d372491..31b022cf 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -14,7 +14,7 @@ RUN dnf clean all && \ dnf -y install \ which \ gcc-toolset-13 \ - python3-tkinter \ + python3.11-tkinter \ zlib-devel \ tbb \ blas \ @@ -30,10 +30,10 @@ RUN dnf clean all && \ # Install clingo for Spack RUN ls /usr/bin | grep python && \ - which python && \ - python3 -m pip ensurepip && \ - python3 -m pip install --upgrade pip && \ - python3 -m pip install clingo virtualenv + which python3.11 && \ + python3.11 -m pip ensurepip && \ + python3.11 -m pip install --upgrade pip && \ + python3.11 -m pip install clingo virtualenv # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh diff --git a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile index e7aabf8f..26ce8f2f 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile @@ -14,7 +14,7 @@ RUN dnf clean all && \ dnf -y install \ which \ gcc-toolset-13 \ - python3 \ + python3.11 \ zlib-devel \ tbb \ blas \ @@ -29,9 +29,9 @@ RUN dnf clean all && \ xz # Install clingo for Spack -RUN python3 -m pip ensurepip && \ - python3 -m pip install --upgrade pip && \ - python3 -m pip install clingo virtualenv +RUN python3.11 -m pip ensurepip && \ + python3.11 -m pip install --upgrade pip && \ + python3.11 -m pip install clingo virtualenv # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh From 3fed006e3ef4079f3d625ae39bb3855f06261db6 Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 15:24:27 -0700 Subject: [PATCH 10/15] Debugging pygeosx build --- docker/tpl-rockylinux-clang-cuda-12.Dockerfile | 8 +++++--- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 2 +- docker/tpl-rockylinux-gcc-cuda-12.Dockerfile | 10 ++++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile index fa9a6415..9e1e3bdc 100644 --- a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile @@ -33,9 +33,11 @@ RUN dnf clean all && \ RUN dnf config-manager --set-enabled & # Install clingo for Spack -RUN python3.11 -m pip ensurepip && \ - python3.11 -m pip install --upgrade pip && \ - python3.11 -m pip install clingo virtualenv +RUN ls /usr/bin | grep python && \ + which python3.12 && \ + python3.12 -m pip ensurepip && \ + python3.12 -m pip install --upgrade pip && \ + python3.12 -m pip install clingo virtualenv RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 31b022cf..66571145 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -14,7 +14,7 @@ RUN dnf clean all && \ dnf -y install \ which \ gcc-toolset-13 \ - python3.11-tkinter \ + python3-tkinter \ zlib-devel \ tbb \ blas \ diff --git a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile index 26ce8f2f..b93e9e4d 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile @@ -14,7 +14,7 @@ RUN dnf clean all && \ dnf -y install \ which \ gcc-toolset-13 \ - python3.11 \ + python3.12 \ zlib-devel \ tbb \ blas \ @@ -29,9 +29,11 @@ RUN dnf clean all && \ xz # Install clingo for Spack -RUN python3.11 -m pip ensurepip && \ - python3.11 -m pip install --upgrade pip && \ - python3.11 -m pip install clingo virtualenv +RUN ls /usr/bin | grep python && \ + which python3.12 && \ + python3.12 -m pip ensurepip && \ + python3.12 -m pip install --upgrade pip && \ + python3.12 -m pip install clingo virtualenv # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh From c9291aa5683fa1c1ad05090d9d35da2d15527445 Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 15:33:51 -0700 Subject: [PATCH 11/15] Debugging pygeosx build --- docker/tpl-rockylinux-clang-cuda-12.Dockerfile | 10 +++++----- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 9 +++++---- docker/tpl-rockylinux-gcc-cuda-12.Dockerfile | 10 +++++----- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile index 9e1e3bdc..1dfe08bd 100644 --- a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile @@ -16,7 +16,7 @@ RUN dnf clean all && \ which \ clang-17.0.6 \ gcc-gfortran \ - python3.11 \ + python3.9 \ zlib-devel \ tbb \ blas \ @@ -34,10 +34,10 @@ RUN dnf config-manager --set-enabled & # Install clingo for Spack RUN ls /usr/bin | grep python && \ - which python3.12 && \ - python3.12 -m pip ensurepip && \ - python3.12 -m pip install --upgrade pip && \ - python3.12 -m pip install clingo virtualenv + which python3.9 && \ + python3.9 -m pip ensurepip && \ + python3.9 -m pip install --upgrade pip && \ + python3.9 -m pip install clingo virtualenv RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 66571145..e051741e 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -14,6 +14,7 @@ RUN dnf clean all && \ dnf -y install \ which \ gcc-toolset-13 \ + python3.9 \ python3-tkinter \ zlib-devel \ tbb \ @@ -30,10 +31,10 @@ RUN dnf clean all && \ # Install clingo for Spack RUN ls /usr/bin | grep python && \ - which python3.11 && \ - python3.11 -m pip ensurepip && \ - python3.11 -m pip install --upgrade pip && \ - python3.11 -m pip install clingo virtualenv + which python3.9 && \ + python3.9 -m pip ensurepip && \ + python3.9 -m pip install --upgrade pip && \ + python3.9 -m pip install clingo virtualenv # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh diff --git a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile index b93e9e4d..58338809 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile @@ -14,7 +14,7 @@ RUN dnf clean all && \ dnf -y install \ which \ gcc-toolset-13 \ - python3.12 \ + python3.9 \ zlib-devel \ tbb \ blas \ @@ -30,10 +30,10 @@ RUN dnf clean all && \ # Install clingo for Spack RUN ls /usr/bin | grep python && \ - which python3.12 && \ - python3.12 -m pip ensurepip && \ - python3.12 -m pip install --upgrade pip && \ - python3.12 -m pip install clingo virtualenv + which python3.9 && \ + python3.9 -m pip ensurepip && \ + python3.9 -m pip install --upgrade pip && \ + python3.9 -m pip install clingo virtualenv # Custom install script for CMake or other tools RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh From c8562a051c43132e4e9460ab09e9974b97da56d6 Mon Sep 17 00:00:00 2001 From: cssherman Date: Wed, 15 Oct 2025 15:38:57 -0700 Subject: [PATCH 12/15] Debugging pygeosx build --- docker/tpl-rockylinux-clang-cuda-12.Dockerfile | 6 ++---- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 6 ++---- docker/tpl-rockylinux-gcc-cuda-12.Dockerfile | 6 ++---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile index 1dfe08bd..d42d376c 100644 --- a/docker/tpl-rockylinux-clang-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-clang-cuda-12.Dockerfile @@ -17,6 +17,7 @@ RUN dnf clean all && \ clang-17.0.6 \ gcc-gfortran \ python3.9 \ + python3-pip \ zlib-devel \ tbb \ blas \ @@ -33,10 +34,7 @@ RUN dnf clean all && \ RUN dnf config-manager --set-enabled & # Install clingo for Spack -RUN ls /usr/bin | grep python && \ - which python3.9 && \ - python3.9 -m pip ensurepip && \ - python3.9 -m pip install --upgrade pip && \ +RUN python3.9 -m pip install --upgrade pip && \ python3.9 -m pip install clingo virtualenv RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index e051741e..48a5b955 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -16,6 +16,7 @@ RUN dnf clean all && \ gcc-toolset-13 \ python3.9 \ python3-tkinter \ + python3-pip \ zlib-devel \ tbb \ blas \ @@ -30,10 +31,7 @@ RUN dnf clean all && \ xz # Install clingo for Spack -RUN ls /usr/bin | grep python && \ - which python3.9 && \ - python3.9 -m pip ensurepip && \ - python3.9 -m pip install --upgrade pip && \ +RUN python3.9 -m pip install --upgrade pip && \ python3.9 -m pip install clingo virtualenv # Custom install script for CMake or other tools diff --git a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile index 58338809..a254d57e 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile @@ -15,6 +15,7 @@ RUN dnf clean all && \ which \ gcc-toolset-13 \ python3.9 \ + python3-pip \ zlib-devel \ tbb \ blas \ @@ -29,10 +30,7 @@ RUN dnf clean all && \ xz # Install clingo for Spack -RUN ls /usr/bin | grep python && \ - which python3.9 && \ - python3.9 -m pip ensurepip && \ - python3.9 -m pip install --upgrade pip && \ +RUN python3.9 -m pip install --upgrade pip && \ python3.9 -m pip install clingo virtualenv # Custom install script for CMake or other tools From cc2c0f6c2a866d6f10d6f07a25edb7dc8c154024 Mon Sep 17 00:00:00 2001 From: cssherman Date: Thu, 16 Oct 2025 10:21:47 -0700 Subject: [PATCH 13/15] Debugging pygeosx build --- docker/rocky-spack.yaml | 2 +- docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/rocky-spack.yaml b/docker/rocky-spack.yaml index 94025319..a11b9dcd 100644 --- a/docker/rocky-spack.yaml +++ b/docker/rocky-spack.yaml @@ -118,7 +118,7 @@ spack: python: buildable: false externals: - - spec: python@3.6.8 + - spec: python@3.9.20 prefix: /usr tar: buildable: false diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 48a5b955..4d7eb3a7 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -78,11 +78,12 @@ RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ # Rename and copy spack-generated host-config to root directory cp *.cmake /spack-generated.cmake && \ # Build pygeosx tpl's + mkdir -p ${GEOSX_TPL_DIR}-pygeosx && \ ./scripts/uberenv/uberenv.py \ --spec "%gcc@13.3.1" \ --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ --project-json=./scripts/pygeosx_configs/pygeosx.json \ - --prefix ${GEOSX_TPL_DIR} \ + --prefix ${GEOSX_TPL_DIR}-pygeosx \ -k && \ # Rename and copy spack-generated host-config to root directory rm lvarray* && \ From 51a348a7fd8eb5bd852c572a4c584df8b94a095d Mon Sep 17 00:00:00 2001 From: cssherman Date: Tue, 21 Oct 2025 09:31:59 -0700 Subject: [PATCH 14/15] Testing new way to install pygeos dependencies --- ...-rockylinux-gcc-cuda-12-pygeosx.Dockerfile | 20 ++++--------------- docker/tpl-rockylinux-gcc-cuda-12.Dockerfile | 1 + .../packages/pygeosx/package.py | 3 ++- 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile index 4d7eb3a7..e70faa7d 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12-pygeosx.Dockerfile @@ -15,8 +15,8 @@ RUN dnf clean all && \ which \ gcc-toolset-13 \ python3.9 \ - python3-tkinter \ python3-pip \ + python3-tkinter \ zlib-devel \ tbb \ blas \ @@ -54,8 +54,7 @@ RUN dnf clean all && \ autoconf \ automake \ m4 \ - git \ - openssl + git # Run uberenv # Have to create install directory first for uberenv @@ -68,26 +67,15 @@ RUN --mount=src=.,dst=$SRC_DIR,readwrite cd ${SRC_DIR} && \ ln -s /usr/lib64/libblas.so.3 /usr/lib64/libblas.so && \ ln -s /usr/lib64/liblapack.so.3 /usr/lib64/liblapack.so && \ ./scripts/uberenv/uberenv.py \ - --spec "%gcc@13.3.1+cuda+pygeosx~uncrustify~openmp cuda_arch=70 ^cuda@12.9.1+allow-unsupported-compilers ^caliper~gotcha~sampler~libunwind~libdw~papi" \ + --spec "%gcc@13.3.1+cuda~uncrustify~openmp cuda_arch=70 ^cuda@12.9.1+allow-unsupported-compilers ^caliper~gotcha~sampler~libunwind~libdw~papi" \ --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ - --project-json=.uberenv_config.json \ + --project-json=./scripts/pygeosx_configs/pygeosx.json \ --prefix ${GEOSX_TPL_DIR} \ -k && \ # Remove host-config generated for LvArray rm lvarray* && \ # Rename and copy spack-generated host-config to root directory cp *.cmake /spack-generated.cmake && \ -# Build pygeosx tpl's - mkdir -p ${GEOSX_TPL_DIR}-pygeosx && \ - ./scripts/uberenv/uberenv.py \ - --spec "%gcc@13.3.1" \ - --spack-env-file=${SRC_DIR}/docker/rocky-pygeosx-spack.yaml \ - --project-json=./scripts/pygeosx_configs/pygeosx.json \ - --prefix ${GEOSX_TPL_DIR}-pygeosx \ - -k && \ -# Rename and copy spack-generated host-config to root directory - rm lvarray* && \ - cp *.cmake /spack-generated-pygeosx.cmake && \ # Remove extraneous spack files cd ${GEOSX_TPL_DIR} && \ rm -rf bin/ build_stage/ misc_cache/ spack/ spack_env/ .spack-db/ diff --git a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile index a254d57e..beb0ba7b 100644 --- a/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile +++ b/docker/tpl-rockylinux-gcc-cuda-12.Dockerfile @@ -16,6 +16,7 @@ RUN dnf clean all && \ gcc-toolset-13 \ python3.9 \ python3-pip \ + python3-tkinter \ zlib-devel \ tbb \ blas \ diff --git a/scripts/spack_packages/packages/pygeosx/package.py b/scripts/spack_packages/packages/pygeosx/package.py index ff7487e5..cb062442 100644 --- a/scripts/spack_packages/packages/pygeosx/package.py +++ b/scripts/spack_packages/packages/pygeosx/package.py @@ -12,9 +12,10 @@ class Pygeosx(BundlePackage): builds of python tend to be much slower). """ version('fakeversion') - # depends_on("openblas") + depends_on('geosx') depends_on('python@3.10:+shared+pic+tkinter') depends_on("py-numpy@1.21.0:+blas+lapack") depends_on('py-mpi4py') + # depends_on("openblas") # depends_on("py-scipy") # depends_on("py-matplotlib") From f4231e13aaea6ee47b223d452a326316612bd6a6 Mon Sep 17 00:00:00 2001 From: cssherman Date: Tue, 21 Oct 2025 09:40:04 -0700 Subject: [PATCH 15/15] Updating spack commit for pygeosx --- scripts/pygeosx_configs/pygeosx.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pygeosx_configs/pygeosx.json b/scripts/pygeosx_configs/pygeosx.json index 41b485dc..8f6a1a3f 100644 --- a/scripts/pygeosx_configs/pygeosx.json +++ b/scripts/pygeosx_configs/pygeosx.json @@ -4,7 +4,7 @@ "package_final_phase": "", "package_source_dir": "../..", "spack_url": "https://github.com/spack/spack", -"spack_commit": "e8658d6493887ef702dd38f0e9ee5870a1651c1e", +"spack_commit": "2bfcc69fa870d3c6919be87593f22647981b648a", "spack_configs_path": "scripts/pygeosx_configs", "spack_packages_path": "scripts/spack_packages/packages", "spack_concretizer": "clingo"