Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
118 changes: 61 additions & 57 deletions .github/workflows/docker_build_tpls.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,68 +19,72 @@ 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
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
- 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: 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
Expand Down
149 changes: 149 additions & 0 deletions docker/rocky-pygeosx-spack.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
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
2 changes: 1 addition & 1 deletion docker/rocky-spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ spack:
python:
buildable: false
externals:
- spec: python@3.6.8
- spec: python@3.9.20
prefix: /usr
tar:
buildable: false
Expand Down
11 changes: 5 additions & 6 deletions docker/tpl-rockylinux-clang-cuda-12.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,26 @@ RUN dnf clean all && \
which \
clang-17.0.6 \
gcc-gfortran \
python3 \
python3.9 \
python3-pip \
zlib-devel \
tbb \
blas \
lapack \
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.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

Expand Down
Loading
Loading