Files
TheRock/rocm-libraries/shared/rocroller/docker/dockerfile-ubuntu-clang
T
derek.holloway 7502bf64a4
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
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

121 lines
3.9 KiB
Plaintext

# Copyright Advanced Micro Devices, Inc., or its affiliates.
# SPDX-License-Identifier: MIT
# See here for image contents: https://github.com/devcontainers/images/tree/main/src/base-ubuntu
##
## Common with other Dockerfiles.
##
# ubuntu-20.04 = focal
# ubuntu-22.04 = jammy
# ubuntu-24.04 = noble
FROM mcr.microsoft.com/devcontainers/base:noble
ARG DEBIAN_FRONTEND=noninteractive
# Propagate the environment variable HTTP_PROXY into the apt config if it's set.
RUN [ -z ${HTTP_PROXY} ] || (echo "Acquire::http::Proxy \"${HTTP_PROXY}\";" > /etc/apt/apt.conf.d/proxy)
RUN apt-get update && apt-get install -y \
bc \
gdb \
libopenblas-dev \
libncurses-dev \
m4 \
make \
nano \
netcat-traditional \
ninja-build \
python3-dev \
python3-venv \
vim \
wget \
xz-utils \
libdw-dev
# Needed for clang-format from ROCm 4.3.1
RUN wget -nv --show-progress --progress=dot:mega -O /tmp/libtinfo5.deb http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb \
&& apt-get install -y /tmp/libtinfo5.deb
# cmake 3.25.2
RUN wget -nv --show-progress --progress=dot:mega -O /tmp/cmake-install.sh https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-x86_64.sh \
&& sh /tmp/cmake-install.sh --prefix=/usr/local --skip-license \
&& rm /tmp/cmake-install.sh
# clang-format from ROCm 4.3.1
ADD docker/install-clang-format /tmp
RUN /tmp/install-clang-format && rm /tmp/install-clang-format
ENV PATH="/opt/clang-format/bin:${PATH}"
# ccache
RUN apt-get update && apt-get install -y \
libzstd-dev
RUN wget -nv --show-progress --progress=dot:mega https://github.com/ccache/ccache/releases/download/v4.11/ccache-4.11.tar.gz -O /tmp/ccache-4.11.tar.gz && \
tar xf /tmp/ccache-4.11.tar.gz -C /tmp && \
cmake -S/tmp/ccache-4.11 -B/tmp/ccache-4.11/build -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_TESTING=OFF \
-DREDIS_STORAGE_BACKEND=OFF && \
ninja -C /tmp/ccache-4.11/build install && \
rm -r /tmp/ccache-4.11 /tmp/ccache-4.11.tar.gz
# cppcheck
ADD docker/install-cppcheck /tmp
RUN /tmp/install-cppcheck && rm /tmp/install-cppcheck
# graph & documentation & perf
RUN apt-get update && apt-get install -y \
graphviz \
doxygen \
linux-tools-common linux-tools-generic
# Python
RUN python3 -m venv /opt/rr-python-venv
ENV PATH="/opt/rr-python-venv/bin:$PATH"
COPY requirements.txt /tmp/requirements.txt
RUN pip install --no-cache-dir -r /tmp/requirements.txt && rm /tmp/requirements.txt
# HipBLASLt
RUN apt-get update && apt-get install -y \
libmsgpack-dev \
libboost-program-options-dev \
libboost-filesystem-dev \
kmod
##
## Specific to this Dockerfile. Put faster-changing-things last.
##
# ROCm
ARG ROCROLLER_AMDGPU_URL=https://repo.radeon.com/amdgpu-install/7.2.1/ubuntu/jammy/amdgpu-install_7.2.1.70201-1_all.deb
ARG ROCROLLER_AMDGPU_BUILD_NUMBER=
ARG ROCROLLER_AMDGPU_BUILD_URI=
RUN wget -nv --show-progress --progress=dot:mega -O /tmp/amdgpu_install.deb ${ROCROLLER_AMDGPU_URL} \
&& apt-get update \
&& apt-get install -y /tmp/amdgpu_install.deb \
&& rm /tmp/amdgpu_install.deb \
&& if test -n "${ROCROLLER_AMDGPU_BUILD_NUMBER}"; then amdgpu-repo --amdgpu-build=${ROCROLLER_AMDGPU_BUILD_NUMBER} --rocm-build=${ROCROLLER_AMDGPU_BUILD_URI}; fi \
&& amdgpu-install -y --usecase=rocmdev --no-dkms
RUN apt-get update && apt-get install -y rocm-llvm-dev
# codeql
ADD codeql/install_codeql /tmp
RUN /tmp/install_codeql && rm /tmp/install_codeql
ENV PATH="/opt/codeql/codeql:${PATH}"
RUN ( \
echo "base_image: ${base_image}" && \
echo "rocroller: clang" \
) > /.container_info.txt
ENV CXX=/opt/rocm/bin/amdclang++
ENV CC=/opt/rocm/bin/amdclang
ADD docker/install-rocprof-trace-decoder /tmp
RUN /tmp/install-rocprof-trace-decoder && rm /tmp/install-rocprof-trace-decoder
# Clean image
RUN apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*