1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
FROM nvidia/cuda:12.2.0-devel-ubuntu22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN set -ex ; \
apt-get update ; \
apt-get install -y \
apt-transport-https \
ca-certificates \
gnupg \
software-properties-common \
curl \
; \
curl -LsS https://apt.kitware.com/keys/kitware-archive-latest.asc \
| gpg --dearmor - \
| tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null ; \
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ jammy main' ; \
apt-get install -y \
locales \
gfortran \
g++ \
openmpi-bin \
libopenmpi-dev \
mpich \
libmpich-dev \
libopenblas-openmp-dev \
cmake \
ninja-build \
lcov \
pkg-config \
git \
python3-pip \
unzip \
rsync \
valgrind \
; \
rm -rf /var/lib/apt/lists/* ; \
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
# Make sure we have a proper unicode locale and language
ENV LANG en_US.utf8
RUN set -ex ; \
pip3 install \
pre-commit \
ford \
git-archive-all \
;
ARG libxsmm_version=488aa88f2a9825e9f92a0cfc773c1aedf019f88a
RUN set -ex ; \
curl -LsS https://github.com/libxsmm/libxsmm/archive/${libxsmm_version}.tar.gz | tar -xz -C /opt ; \
ln -s libxsmm-${libxsmm_version} /opt/libxsmm ; \
make -j -C /opt/libxsmm WRAP=0
ENV PKG_CONFIG_PATH="/opt/libxsmm/lib:${PKG_CONFIG_PATH}"
# Leak suppression
COPY lsan.supp /opt
ENV LSAN_OPTIONS=suppressions=/opt/lsan.supp
|