Skip to content

Commit

Permalink
CI: Update Docker images
Browse files Browse the repository at this point in the history
  • Loading branch information
eschnett committed Oct 2, 2024
1 parent e20789f commit c3174ee
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 59 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:

# The type of runner that the job will run on
runs-on: ubuntu-latest
container: einsteintoolkit/carpetx:${{matrix.accelerator}}-${{matrix.real-precision}}
container: einsteintoolkit/carpetx-testing:${{matrix.accelerator}}-${{matrix.real-precision}}-testing

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
Expand Down
80 changes: 45 additions & 35 deletions docker/carpetx-arm64v8-cpu.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
# docker push einsteintoolkit/carpetx:arm64v8-cpu-real32

# noble is ubuntu:24.04
# FROM arm64v8/ubuntu:noble-20240605
FROM arm64v8/ubuntu:noble-20240801
# FROM arm64v8/ubuntu:noble-20240801
FROM arm64v8/ubuntu:noble-20240904.1

ENV DEBIAN_FRONTEND=noninteractive \
LANGUAGE=en_US.en \
Expand All @@ -24,11 +24,13 @@ WORKDIR /cactus
# python2
RUN apt-get update && \
apt-get --yes --no-install-recommends install \
bzip2 \
ca-certificates \
clang-format \
cmake \
cvs \
diffutils \
elfutils \
g++ \
gcc \
gdb \
Expand All @@ -46,8 +48,11 @@ RUN apt-get update && \
libgsl-dev \
libhdf5-dev \
libhwloc-dev \
libiberty-dev \
liblzma-dev \
libopenblas-dev \
libopenmpi-dev \
libpapi-dev \
libpetsc-real-dev \
libtool \
libudev-dev \
Expand All @@ -59,50 +64,55 @@ RUN apt-get update && \
meson \
ninja-build \
numactl \
papi-tools \
patch \
perl \
pkgconf \
python3 \
python3-pip \
python3-requests \
rsync \
subversion \
tar \
vim \
wget \
xz-utils \
zlib1g-dev \
zstd \
&& \
rm -rf /var/lib/apt/lists/*

# # Install HPCToolkit
# # Install this first because it is expensive to build
# RUN mkdir src && \
# (cd src && \
# wget https://github.com/spack/spack/archive/refs/tags/v0.21.0.tar.gz && \
# tar xzf v0.21.0.tar.gz && \
# export SPACK_ROOT="$(pwd)/spack-0.21.0" && \
# mkdir -p "${HOME}/.spack" && \
# echo 'config: {install_tree: {root: /spack}}' >"${HOME}/.spack/config.yaml" && \
# . ${SPACK_ROOT}/share/spack/setup-env.sh && \
# spack external find \
# autoconf \
# automake \
# cmake \
# diffutils \
# elfutils \
# gmake \
# libtool \
# m4 \
# meson \
# ninja \
# numactl \
# perl \
# pkgconf \
# python \
# && \
# spack install --fail-fast hpctoolkit ~viewer && \
# spack view --dependencies no hardlink /hpctoolkit hpctoolkit && \
# true) && \
# rm -rf src "${HOME}/.spack"
# Install HPCToolkit
# Install this first because it is expensive to build
# Try to reuse build tools from Ubuntu, but do not use any libraries because HPC Toolkit is a bit iffy to install.
RUN mkdir src && \
(cd src && \
wget https://github.com/spack/spack/archive/refs/tags/v0.22.2.tar.gz && \
tar xzf v0.22.2.tar.gz && \
export SPACK_ROOT="$(pwd)/spack-0.22.2" && \
mkdir -p "${HOME}/.spack" && \
echo 'config: {install_tree: {root: /spack}}' >"${HOME}/.spack/config.yaml" && \
. ${SPACK_ROOT}/share/spack/setup-env.sh && \
spack external find \
autoconf \
automake \
cmake \
diffutils \
elfutils \
gmake \
libtool \
m4 \
meson \
ninja \
numactl \
perl \
pkgconf \
python \
&& \
spack install --fail-fast hpctoolkit ~viewer && \
spack view --dependencies no hardlink /hpctoolkit hpctoolkit && \
true) && \
rm -rf src "${HOME}/.spack"

# Install blosc2
# blosc2 is a compression library, comparable to zlib
Expand Down Expand Up @@ -286,9 +296,9 @@ ARG real_precision=real64
# Should we keep the AMReX source tree around for debugging?
RUN mkdir src && \
(cd src && \
wget https://github.com/AMReX-Codes/amrex/archive/24.09.tar.gz && \
tar xzf 24.09.tar.gz && \
cd amrex-24.09 && \
wget https://github.com/AMReX-Codes/amrex/archive/24.10.tar.gz && \
tar xzf 24.10.tar.gz && \
cd amrex-24.10 && \
case $real_precision in \
real32) precision=SINGLE;; \
real64) precision=DOUBLE;; \
Expand Down
16 changes: 8 additions & 8 deletions docker/carpetx-cpu.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
# docker push einsteintoolkit/carpetx:cpu-real32

# noble is ubuntu:24.04
# FROM ubuntu:noble-20240605
FROM ubuntu:noble-20240801
# FROM amd64/ubuntu:noble-20240801
FROM amd64/ubuntu:noble-20240904.1

ENV DEBIAN_FRONTEND=noninteractive \
LANGUAGE=en_US.en \
Expand Down Expand Up @@ -87,9 +87,9 @@ RUN apt-get update && \
# Try to reuse build tools from Ubuntu, but do not use any libraries because HPC Toolkit is a bit iffy to install.
RUN mkdir src && \
(cd src && \
wget https://github.com/spack/spack/archive/refs/tags/v0.22.1.tar.gz && \
tar xzf v0.22.1.tar.gz && \
export SPACK_ROOT="$(pwd)/spack-0.22.1" && \
wget https://github.com/spack/spack/archive/refs/tags/v0.22.2.tar.gz && \
tar xzf v0.22.2.tar.gz && \
export SPACK_ROOT="$(pwd)/spack-0.22.2" && \
mkdir -p "${HOME}/.spack" && \
echo 'config: {install_tree: {root: /spack}}' >"${HOME}/.spack/config.yaml" && \
. ${SPACK_ROOT}/share/spack/setup-env.sh && \
Expand Down Expand Up @@ -296,9 +296,9 @@ ARG real_precision=real64
# Should we keep the AMReX source tree around for debugging?
RUN mkdir src && \
(cd src && \
wget https://github.com/AMReX-Codes/amrex/archive/24.09.tar.gz && \
tar xzf 24.09.tar.gz && \
cd amrex-24.09 && \
wget https://github.com/AMReX-Codes/amrex/archive/24.10.tar.gz && \
tar xzf 24.10.tar.gz && \
cd amrex-24.10 && \
case $real_precision in \
real32) precision=SINGLE;; \
real64) precision=DOUBLE;; \
Expand Down
10 changes: 5 additions & 5 deletions docker/carpetx-cuda.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
# docker build --build-arg real_precision=real32 --file carpetx-cuda.dockerfile --tag einsteintoolkit/carpetx:cuda-real32 .
# docker push einsteintoolkit/carpetx:cuda-real32

FROM nvidia/cuda:12.5.1-devel-ubuntu24.04
#TODO FROM nvidia/cuda:12.6.0-devel-ubuntu24.04
# FROM amd64/nvidia/cuda:12.5.1-devel-ubuntu24.04
FROM amd64/nvidia/cuda:12.6.1-devel-ubuntu24.04

ENV DEBIAN_FRONTEND=noninteractive \
LANGUAGE=en_US.en \
Expand Down Expand Up @@ -284,9 +284,9 @@ ARG real_precision=real64
# Should we keep the AMReX source tree around for debugging?
RUN mkdir src && \
(cd src && \
wget https://github.com/AMReX-Codes/amrex/archive/24.09.tar.gz && \
tar xzf 24.09.tar.gz && \
cd amrex-24.09 && \
wget https://github.com/AMReX-Codes/amrex/archive/24.10.tar.gz && \
tar xzf 24.10.tar.gz && \
cd amrex-24.10 && \
case $real_precision in \
real32) precision=SINGLE;; \
real64) precision=DOUBLE;; \
Expand Down
10 changes: 5 additions & 5 deletions docker/carpetx-oneapi.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
# docker build --build-arg real_precision=real32 --file carpetx-oneapi.dockerfile --tag einsteintoolkit/carpetx:oneapi-real32 .
# docker push einsteintoolkit/carpetx:oneapi-real32

# FROM intel/oneapi-basekit:2024.2.0-1-devel-ubuntu22.04
FROM intel/oneapi-basekit:2024.2.1-0-devel-ubuntu22.04
# FROM amd64/intel/oneapi-basekit:2024.2.0-1-devel-ubuntu22.04
FROM amd64/intel/oneapi-basekit:2024.2.1-0-devel-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive \
LANGUAGE=en_US.en \
Expand Down Expand Up @@ -262,10 +262,10 @@ ARG real_precision=real64
# Should we keep the AMReX source tree around for debugging?
RUN mkdir src && \
(cd src && \
wget https://github.com/AMReX-Codes/amrex/archive/24.09.tar.gz && \
tar xzf 24.09.tar.gz && \
wget https://github.com/AMReX-Codes/amrex/archive/24.10.tar.gz && \
tar xzf 24.10.tar.gz && \
rm -rf /opt/intel/oneapi/mpi && \
cd amrex-24.09 && \
cd amrex-24.10 && \
case $real_precision in \
real32) precision=SINGLE;; \
real64) precision=DOUBLE;; \
Expand Down
10 changes: 5 additions & 5 deletions docker/carpetx-rocm.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
# docker build --build-arg real_precision=real32 --file carpetx-rocm.dockerfile --tag einsteintoolkit/carpetx:rocm-real32 .
# docker push einsteintoolkit/carpetx:rocm-real32

# FROM rocm/dev-ubuntu-22.04:6.1.2
FROM rocm/dev-ubuntu-24.04:6.2
# FROM amd64/rocm/dev-ubuntu-22.04:6.1.2
FROM amd64/rocm/dev-ubuntu-24.04:6.2

ENV DEBIAN_FRONTEND=noninteractive \
LANGUAGE=en_US.en \
Expand Down Expand Up @@ -286,9 +286,9 @@ ARG real_precision=real64
# Should we keep the AMReX source tree around for debugging?
RUN mkdir src && \
(cd src && \
wget https://github.com/AMReX-Codes/amrex/archive/24.09.tar.gz && \
tar xzf 24.09.tar.gz && \
cd amrex-24.09 && \
wget https://github.com/AMReX-Codes/amrex/archive/24.10.tar.gz && \
tar xzf 24.10.tar.gz && \
cd amrex-24.10 && \
case $real_precision in \
real32) precision=SINGLE;; \
real64) precision=DOUBLE;; \
Expand Down

0 comments on commit c3174ee

Please sign in to comment.