Skip to content

Commit 6dd95d2

Browse files
authored
Sherlock image: bypassing EOF of centos and moving to cuda 12.4.0 (#290)
* Sherlock image: bypassing EOF of centos and moving to cuda 12.4.0 * Added unzip to Dockerfile * Disable OMP * Fix review comments
1 parent db12f81 commit 6dd95d2

File tree

5 files changed

+41
-21
lines changed

5 files changed

+41
-21
lines changed

.github/workflows/docker_build_tpls.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,20 @@ jobs:
6868
DOCKER_ROOT_IMAGE: 7g8efcehpff/pangea-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18:4
6969
HOST_ARCH: ppc64le
7070
RUNS_ON: streak2
71+
- name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10, zlib 1.2.11)
72+
DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11
73+
TPL_DOCKERFILE: docker/Stanford/Dockerfile
74+
DOCKER_ROOT_IMAGE: matteofrigo5/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11-no-geosx:0.0.2
75+
HOST_CONFIG: docker/Stanford/sherlock-gcc10.cmake
76+
INSTALL_DIR_ROOT: /oak/stanford/groups/tchelepi/geos-sherlock/CPU
77+
RUNS_ON: ubuntu-latest
78+
- 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)
79+
DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11
80+
TPL_DOCKERFILE: docker/Stanford/Dockerfile
81+
DOCKER_ROOT_IMAGE: matteofrigo5/sherlock-gcc10.1.0-openmpi4.1.2-cuda12.4.0-openblas0.3.10-zlib1.2.11-no-geosx:0.0.2
82+
HOST_CONFIG: docker/Stanford/sherlock-gcc10-cuda12-sm70.cmake
83+
INSTALL_DIR_ROOT: /oak/stanford/groups/tchelepi/geos-sherlock/GPU
84+
RUNS_ON: ubuntu-latest
7185

7286
steps:
7387
- name: Checkout

docker/Stanford/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ RUN yum install -y \
1515
ca-certificates \
1616
curl \
1717
python3 \
18-
zlib-devel
18+
zlib-devel \
19+
unzip
1920

2021
RUN --mount=src=.,dst=$SRC_DIR $SRC_DIR/docker/install-cmake.sh
2122

docker/Stanford/Sherlock.Dockerfile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ ARG GCC_VERSION=10.1.0
1111
ARG OPENMPI_VERSION=4.1.2
1212
ARG OPENBLAS_VERSION=0.3.10
1313
ARG ZLIB_VERSION=1.2.11
14-
ARG CUDA_VERSION=11.7.1
15-
ARG CUDA_SUBVERSION=515.65.01
14+
ARG CUDA_VERSION=12.4.0
15+
ARG CUDA_SUBVERSION=550.54.14
1616

1717
# Main software root installation directory in SHERLOCK
1818
ARG SHERLOCK_ROOT_INSTALL_DIR=/share/software/user/open
@@ -28,6 +28,12 @@ FROM centos:7.9.2009 AS shared_components
2828
RUN yum install -y \
2929
glibc-devel
3030

31+
32+
# I need these lines because centos 7.9 has reached EOL
33+
RUN sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/CentOS-*.repo
34+
RUN sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/CentOS-*.repo
35+
RUN sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/CentOS-*.repo
36+
3137
# We'll compile and deploy a version of `gcc` in this stage.
3238
FROM shared_components AS gcc_stage
3339

docker/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10-cuda11.7.1-sm70.cmake renamed to docker/Stanford/sherlock-gcc10-cuda12-sm70.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
1-
include(${CMAKE_CURRENT_LIST_DIR}/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake)
2-
3-
# OpenMP options
4-
set(ENABLE_OPENMP OFF CACHE BOOL "" FORCE)
1+
include(${CMAKE_CURRENT_LIST_DIR}/sherlock-gcc10.cmake)
52

63
# CUDA options
74
set(ENABLE_CUDA ON CACHE BOOL "" FORCE)
8-
set(CUDA_VERSION "11.7.1" CACHE PATH "")
5+
set(CUDA_VERSION "12.4.0" CACHE PATH "")
96
set(CUDA_HOME "${SOFTWARE_ROOT}/cuda/${CUDA_VERSION}" CACHE PATH "")
107
set(CMAKE_CUDA_ARCHITECTURES "70" CACHE STRING "")
118
set(CUDA_ARCH "sm_${CMAKE_CUDA_ARCHITECTURES}" CACHE STRING "")
129
set(CUDA_TOOLKIT_ROOT_DIR "${CUDA_HOME}" CACHE STRING "")
1310

14-
set(CONFIG_NAME "sherlock-gcc10-ompi4.1.2-openblas0.3.10-cuda${CUDA_VERSION}-${CUDA_ARCH}" CACHE PATH "" FORCE)
11+
set(CONFIG_NAME "sherlock-gcc${GCC_VERSION}-ompi${OMPI_VERSION}-openblas${OPENBLAS_VERSION}-cuda${CUDA_VERSION}-${CUDA_ARCH}" CACHE PATH "" FORCE)
1512

1613
set(CMAKE_CUDA_HOST_COMPILER ${MPI_CXX_COMPILER} CACHE STRING "")
1714
set(CMAKE_CUDA_COMPILER ${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc CACHE STRING "")
@@ -20,8 +17,11 @@ set(CMAKE_CUDA_FLAGS_RELEASE "-O3 -DNDEBUG -Xcompiler -DNDEBUG -Xcompiler -O3" C
2017
set(CMAKE_CUDA_FLAGS_RELWITHDEBINFO "-g -lineinfo ${CMAKE_CUDA_FLAGS_RELEASE}" CACHE STRING "")
2118
set(CMAKE_CUDA_FLAGS_DEBUG "-g -G -O0 -Xcompiler -O0" CACHE STRING "")
2219

20+
# OpenMP options
21+
set(ENABLE_OPENMP OFF CACHE BOOL "" FORCE)
22+
2323
# LAI options
24-
set(GEOSX_LA_INTERFACE "Hypre" CACHE STRING "" FORCE)
24+
set(GEOS_LA_INTERFACE "Hypre" CACHE STRING "" FORCE)
2525
set(ENABLE_HYPRE ON CACHE BOOL "" FORCE)
2626
set(ENABLE_HYPRE_DEVICE "CUDA" CACHE STRING "" FORCE)
2727
set(ENABLE_PETSC OFF CACHE BOOL "" FORCE)

docker/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake renamed to docker/Stanford/sherlock-gcc10.cmake

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
set(CONFIG_NAME "sherlock-gcc10-ompi4.1.2-openblas0.3.10" CACHE PATH "")
1+
# User defined versions
2+
set(GCC_VERSION "10.1.0" CACHE STRING "Version of GCC")
3+
set(OMPI_VERSION "4.1.2" CACHE STRING "Version of Open MPI")
4+
set(OPENBLAS_VERSION "0.3.10" CACHE STRING "Version of OpenBLAS")
5+
6+
set(CONFIG_NAME "sherlock-gcc${GCC_VERSION}-ompi${OMPI_VERSION}-openblas${OPENBLAS_VERSION}" CACHE PATH "")
27

38
set(SOFTWARE_ROOT /share/software/user/open CACHE PATH "")
4-
set(GCC_ROOT "${SOFTWARE_ROOT}/gcc/10.1.0" CACHE PATH "")
5-
set(MPI_ROOT "${SOFTWARE_ROOT}/openmpi/4.1.2" CACHE PATH "")
9+
set(GCC_ROOT "${SOFTWARE_ROOT}/gcc/${GCC_VERSION}" CACHE PATH "")
10+
set(MPI_ROOT "${SOFTWARE_ROOT}/openmpi/${OMPI_VERSION}" CACHE PATH "")
611

712
site_name(HOST_NAME)
813

@@ -12,7 +17,7 @@ set(CMAKE_CXX_COMPILER "${GCC_ROOT}/bin/g++" CACHE PATH "")
1217
set(CMAKE_Fortran_COMPILER "${GCC_ROOT}/bin/gfortran" CACHE PATH "")
1318

1419
# OpenMP options
15-
set(ENABLE_OPENMP ON CACHE BOOL "")
20+
#set(ENABLE_OPENMP ON CACHE BOOL "")
1621

1722
# MPI options
1823
set(ENABLE_MPI ON CACHE PATH "" FORCE)
@@ -27,15 +32,9 @@ set(ENABLE_WRAP_ALL_TESTS_WITH_MPIEXEC ON CACHE BOOL "")
2732
set(ENABLE_CUDA OFF CACHE PATH "" FORCE)
2833

2934
# Blas/Lapack options
30-
set(OPENBLAS_ROOT "${SOFTWARE_ROOT}/openblas/0.3.10" CACHE STRING "")
35+
set(OPENBLAS_ROOT "${SOFTWARE_ROOT}/openblas/${OPENBLAS_VERSION}" CACHE STRING "")
3136
set(BLAS_LIBRARIES "${OPENBLAS_ROOT}/lib/libopenblas.so" CACHE STRING "")
3237
set(LAPACK_LIBRARIES "${OPENBLAS_ROOT}/lib/libopenblas.so" CACHE STRING "")
3338

34-
# Python options
35-
#set(ENABLE_PYLVARRAY ON CACHE BOOL "")
36-
#set(ENABLE_PYGEOSX ON CACHE BOOL "")
37-
#set(PYTHON_DIR "${SOFTWARE_ROOT}/python/3.6.1" CACHE PATH "")
38-
#set(Python3_EXECUTABLE "${SOFTWARE_ROOT}/python/3.6.1/bin/python3" CACHE PATH "")
39-
4039
set(ENABLE_VALGRIND OFF CACHE BOOL "")
4140
set(ENABLE_CALIPER ON CACHE BOOL "")

0 commit comments

Comments
 (0)