CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
100 lines
3.4 KiB
Docker
100 lines
3.4 KiB
Docker
# Build stage with Spack pre-installed and ready to be used
|
|
FROM spack/ubuntu-focal:latest as builder
|
|
# FROM ecpe4s/ubuntu18.04-spack-x86_64:0.15.3 as builder
|
|
|
|
ARG VERSION=develop
|
|
ARG PYTHON_VERSION=3.7
|
|
ARG COMPILER_SPEC=gcc
|
|
ARG CUDA_ARCH=70
|
|
ARG CUDA_ARCH_NAME=volta
|
|
|
|
# What we want to install and how we want to install it
|
|
# is specified in a manifest file (spack.yaml)
|
|
RUN mkdir /opt/environment \
|
|
&& (echo "spack:" \
|
|
&& echo " specs:" \
|
|
&& echo " - cuda" \
|
|
&& echo " - nccl cuda_arch=${CUDA_ARCH}" \
|
|
&& echo " - papi" \
|
|
&& echo " - mpich" \
|
|
&& echo " - gotcha" \
|
|
&& echo " - dyninst" \
|
|
&& echo " - caliper~papi" \
|
|
&& echo " - gperftools" \
|
|
&& echo " - python@${PYTHON_VERSION}" \
|
|
&& echo " - py-scikit-build" \
|
|
&& echo " - py-numpy" \
|
|
&& echo " - py-cython" \
|
|
&& echo " - py-pillow" \
|
|
&& echo " - py-ipython" \
|
|
&& echo " - py-matplotlib" \
|
|
&& echo " - py-mpi4py" \
|
|
&& echo " - py-pip" \
|
|
&& echo " - timemory@${VERSION}%${COMPILER_SPEC} +caliper+cuda+cupti+dyninst+gotcha+kokkos_tools+kokkos_build_config+mpi+mpip_library+nccl+ompt+ompt_library+papi+python+tools cuda_arch=${CUDA_ARCH_NAME}" \
|
|
&& echo " concretizer:" \
|
|
&& echo " unify: when_possible" \
|
|
&& echo " config:" \
|
|
&& echo " install_tree: /opt/software" \
|
|
&& echo " view: /opt/view") > /opt/environment/spack.yaml
|
|
|
|
# Install the software, remove unecessary deps
|
|
RUN cd /tmp && \
|
|
apt-get update && \
|
|
apt-get dist-upgrade -y && \
|
|
apt-get install -y wget gpg software-properties-common && \
|
|
wget -O kitware-archive.sh https://apt.kitware.com/kitware-archive.sh && \
|
|
chmod 755 ./kitware-archive.sh && \
|
|
DISTRIB_CODENAME=$(cat /etc/lsb-release | grep DISTRIB_CODENAME | awk -F '=' '{print $NF}') && \
|
|
./kitware-archive.sh --release ${DISTRIB_CODENAME} && \
|
|
rm -f ./kitware-archive.sh && \
|
|
apt-get update && \
|
|
apt-get install -y cmake build-essential ninja-build && \
|
|
apt-get -y autoclean
|
|
|
|
# Install the software, remove unecessary deps
|
|
RUN cd /opt/environment && \
|
|
wget https://oaciss.uoregon.edu/e4s/e4s.pub && \
|
|
spack gpg trust e4s.pub && \
|
|
spack mirror add E4S https://cache.e4s.io/e4s && \
|
|
rm e4s.pub && \
|
|
spack compiler find && \
|
|
spack external find && \
|
|
spack --env . install --reuse && \
|
|
spack gc -y
|
|
|
|
# Modifications to the environment that are necessary to run
|
|
RUN cd /opt/environment && \
|
|
spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
|
|
|
|
# Bare OS image to run the installed executables
|
|
FROM spack/ubuntu-focal:latest
|
|
|
|
COPY --from=builder /opt/environment /opt/environment
|
|
COPY --from=builder /opt/software /opt/software
|
|
COPY --from=builder /opt/view /opt/view
|
|
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
|
|
|
|
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][timemory]\[$(tput setaf 2)\] \u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
|
|
|
|
ENV HOME /root
|
|
ENV LANG en_US.UTF-8
|
|
ENV LANGUAGE en_US
|
|
ENV LC_ALL C
|
|
ENV SHELL /bin/bash
|
|
ENV BASH_ENV /etc/bash.bashrc
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
COPY ./etc/profile.d/*.sh /etc/profile.d/
|
|
COPY ./etc/bash.bashrc /etc/
|
|
COPY ./etc/compute-dir-size.py /etc/
|
|
|
|
LABEL "app"="timemory"
|
|
LABEL "mpi"="mpich"
|
|
|
|
USER root
|
|
WORKDIR /home
|
|
SHELL [ "/bin/bash", "--login", "-c" ]
|
|
|
|
# ENTRYPOINT [ "/runtime-entrypoint.sh" ]
|
|
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
|