Skip to content

Commit

Permalink
Merge pull request #2157 from DARMA-tasking/2156-generalize-container…
Browse files Browse the repository at this point in the history
…s-for-arm

2156 generalize containers for arm
  • Loading branch information
lifflander authored Jun 7, 2023
2 parents a8b59f5 + c6c16d4 commit 6109deb
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 28 deletions.
21 changes: 19 additions & 2 deletions ci/deps/cmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,29 @@ set -exo pipefail

if test $# -lt 1
then
echo "usage: ./$0 <cmake-version>"
echo "usage: ./$0 <cmake-version> <arch>"
exit 1
fi

cmake_version=$1
cmake_tar_name=cmake-${cmake_version}-Linux-x86_64.tar.gz
arch=x86_64

if test $# -gt 1
then
arch=$2
fi

if test "${arch}" = "arm64v8"
then
arch=aarch64
fi

if test "${arch}" = "amd64"
then
arch=x86_64
fi

cmake_tar_name=cmake-${cmake_version}-linux-$arch.tar.gz

echo "${cmake_version}"
echo "${cmake_tar_name}"
Expand Down
4 changes: 3 additions & 1 deletion ci/docker/ubuntu-20.04-gnu-openmpi-cpp.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,10 @@ RUN if test ${zoltan_enabled} -eq 1; then \
ENV CC=gcc \
CXX=g++

ARG arch

COPY ./ci/deps/cmake.sh cmake.sh
RUN ./cmake.sh 3.23.4
RUN ./cmake.sh 3.23.4 ${arch}

ENV PATH=/cmake/bin/:$PATH
ENV LESSCHARSET=utf-8
Expand Down
4 changes: 3 additions & 1 deletion ci/docker/ubuntu-clang-cpp.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,10 @@ ENV CC=${compiler} \
COPY ./ci/deps/libunwind.sh libunwind.sh
RUN ./libunwind.sh 1.6.2

ARG arch

COPY ./ci/deps/cmake.sh cmake.sh
RUN ./cmake.sh 3.23.4
RUN ./cmake.sh 3.23.4 ${arch}

ENV PATH=/cmake/bin/:$PATH
ENV LESSCHARSET=utf-8
Expand Down
4 changes: 3 additions & 1 deletion ci/docker/ubuntu-gnu-cpp.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,10 @@ RUN if test ${zoltan_enabled} -eq 1; then \
ENV CC=gcc \
CXX=g++

ARG arch

COPY ./ci/deps/cmake.sh cmake.sh
RUN ./cmake.sh 3.23.4
RUN ./cmake.sh 3.23.4 ${arch}

ENV PATH=/cmake/bin/:$PATH
ENV LESSCHARSET=utf-8
Expand Down
4 changes: 3 additions & 1 deletion ci/docker/ubuntu-gnu-docs.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,10 @@ ENV MPI_EXTRA_FLAGS="" \
CXX=mpicxx \
PATH=/usr/lib/ccache/:$PATH

ARG arch

COPY ./ci/deps/cmake.sh cmake.sh
RUN ./cmake.sh 3.23.4
RUN ./cmake.sh 3.23.4 ${arch}

ENV PATH=/cmake/bin/:$PATH

Expand Down
4 changes: 3 additions & 1 deletion ci/docker/ubuntu-nvidia-cpp.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,10 @@ RUN apt-get update -y && \
ENV CC=gcc \
CXX=g++

ARG arch

COPY ./ci/deps/cmake.sh cmake.sh
RUN ./cmake.sh 3.23.4
RUN ./cmake.sh 3.23.4 ${arch}

ENV PATH=/cmake/bin/:$PATH
ENV LESSCHARSET=utf-8
Expand Down
57 changes: 36 additions & 21 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
#

# Need verision >= 3.5 for the features in use
version: '3.5'
version: '3.8'

# Named volumes must be predefined according the docker compose rules. Many
# combinations have already been added, but if a needed configuration is missing
Expand Down Expand Up @@ -95,6 +95,31 @@ volumes:
amd64-alpine-icpc-icpc-cache:
amd64-alpine-gcc-9-11.0.3-cache:
amd64-alpine-gcc-9-11.2.0-cache:
arm64v8-ubuntu-18.04-clang-8-clang-8-cache:
arm64v8-ubuntu-18.04-clang-9-clang-9-cache:
arm64v8-ubuntu-20.04-clang-10-clang-10-cache:
arm64v8-ubuntu-22.04-clang-11-clang-11-cache:
arm64v8-ubuntu-18.04-gcc-8-gcc-8-cache:
arm64v8-ubuntu-20.04-gcc-9-gcc-9-cache:
arm64v8-ubuntu-20.04-gcc-10-gcc-10-cache:
arm64v8-ubuntu-22.04-gcc-12-gcc-12-cache:
arm64v8-ubuntu-18.04-icpx-icpx-cache:
arm64v8-ubuntu-18.04-icpc-icpc-cache:
arm64v8-ubuntu-20.04-gcc-9-11.0.3-cache:
arm64v8-ubuntu-20.04-gcc-9-11.2.0-cache:
arm64v8-alpine-clang-8-clang-8-cache:
arm64v8-alpine-clang-9-clang-9-cache:
arm64v8-alpine-clang-10-clang-10-cache:
arm64v8-alpine-clang-11-clang-11-cache:
arm64v8-alpine-clang-13-clang-13-cache:
arm64v8-alpine-gcc-8-gcc-8-cache:
arm64v8-alpine-gcc-9-gcc-9-cache:
arm64v8-alpine-gcc-10-gcc-10-cache:
arm64v8-alpine-gcc-12-gcc-12-cache:
arm64v8-alpine-icpx-icpx-cache:
arm64v8-alpine-icpc-icpc-cache:
arm64v8-alpine-gcc-9-11.0.3-cache:
arm64v8-alpine-gcc-9-11.2.0-cache:

# Define basic rules for ccache used across multiple services. The beauty of
# docker compose with cached volumes is that similarly configured builds will
Expand Down Expand Up @@ -167,8 +192,7 @@ services:
ulimits: &ulimits
core: ${ULIMIT_CORE}
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
volumes: &ubuntu-volumes
- .:/vt:delegated
- ${CACHE}${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cache:/build:delegated
Expand All @@ -195,8 +219,7 @@ services:
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cpp
ulimits: *ulimits
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
volumes: *ubuntu-volumes
command: &vt-build-test-clean-cpp-command >
/bin/bash -c "
Expand All @@ -222,8 +245,7 @@ services:
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cpp
ulimits: *ulimits
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
volumes: *ubuntu-volumes
command: &vt-build-test-clean-noinstall-cpp-command >
/bin/bash -c "
Expand Down Expand Up @@ -252,8 +274,7 @@ services:
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cpp
ulimits: *ulimits
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
volumes: *ubuntu-volumes

##############################################################################
Expand All @@ -274,8 +295,7 @@ services:
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-openmpi-cpp
ulimits: *ulimits
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
OMPI_MCA_btl: "^vader"
volumes: *ubuntu-volumes
command: *vt-build-test-clean-cpp-command
Expand All @@ -294,8 +314,7 @@ services:
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-openmpi-cpp
ulimits: *ulimits
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
OMPI_MCA_btl: "^vader"
volumes: *ubuntu-volumes

Expand All @@ -309,14 +328,12 @@ services:
target: build
dockerfile: ci/docker/ubuntu-${COMPILER_TYPE}-cpp.dockerfile
args:
<<: *default-args
<<: *vtopts
<<: [*default-args, *vtopts]
cache_from:
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cpp
ulimits: *ulimits
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
volumes: *ubuntu-volumes
command: &cpp-command >
/bin/bash -c "
Expand Down Expand Up @@ -405,8 +422,7 @@ services:
- ${REPO}:${ARCH}-alpine-${HOST_COMPILER}-${COMPILER}-cpp
ulimits: *ulimits
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
volumes: &alpine-volumes
- .:/vt:delegated
- ${CACHE}${ARCH}-alpine-${HOST_COMPILER}-${COMPILER}-cache:/build:delegated
Expand All @@ -426,7 +442,6 @@ services:
- ${REPO}:${ARCH}-alpine-${HOST_COMPILER}-${COMPILER}-cpp
ulimits: *ulimits
environment:
<<: *ccache
<<: *vtopts
<<: [*ccache, *vtopts]
volumes: *alpine-volumes
command: *vt-build-test-clean-cpp-command

0 comments on commit 6109deb

Please sign in to comment.