Files
rocm-systems/docker/Dockerfile.centos
T
Jonathan R. Madsen ede6007f9b Support for Ubuntu 22.04 and ROCm 5.3 (#48)
* Testing and CI support for Ubuntu 22.04

* Fixes for ROCm

- Jammy does not have ROCm installers

* Name, timeout, and python updates

- renamed ubuntu-jammy-external.yml to ubuntu-jammy.yml
- increased all 5 minute timeouts to 10 minutes
- include python 3.10 in testing

* Update dyninst to remove interposed definition of _r_debug

* Rebuild Dyninst + test install script

* Revert container change

* git safe directory

* pushd -> cd

* fix MPI include

* Fix testing step

* OMPI_ALLOW_RUN_AS_ROOT

* Test script changes

* Fix mismatched malloc / delete[]

* Jammy workflow tweaks

* CPack tweak for boost deb deps

* pthread_mutex_gotcha config returns when not enabled

* fix echoing config in CI

* USE_CLANG_OMP

- option to disable using LLVM OpenMP when building OpenMP test executables
- Jammy workflow sets USE_CLANG_OMP=OFF

* Dyninst submodule boost download

- updated containers workflow to include jammy
- updated workflow to use ci

* Updates to workflows + replace test-install.sh

- test-install.sh in this branch was replaced with one in main branch

* Expand jammy test-install.sh args

* Fix openmp-cg-sampling-duration test

* update timemory submodule

- use-after-free violation in popen::pclose

* revert some tweaks to sampling-duration test

* Fix env of test-install.sh

* cmake format

* jammy bash

* CPack install for jammy

* formatting workflow action version bump

* Update timemory submodule

- libunwind submodule via timemory sets SOVERSION to 99 to avoid ABI conflicts with v8

* Fix help menu for omnitrace-sample

* Support other boolean forms in test-install.sh

* Update docker files and build-docker.sh

- consolidated cases in build-docker.sh
- support rocm version of 0.0 (no rocm install)
- support rocm v5.3
- updated centos handling

* update opensuse actions/checkout version

* Tweaks to ubuntu-focal testing

- actions/checkout@v3
- use test-install script

* update cpack

- ubuntu 22.04
- rocm 5.3
- rename os matrix field to os-version
- remove CI_ROCM_VERSION (no longer necessary)
- remove default-rocm-version matrix field (no longer necessary)
- CentOS packaging

* fix argparsing and omnitrace-sample tests in install-tests.sh

* focal rocm test install workflow fix

* Fix omnitrace-sample build

* Dockerfile.centos + build-docker.sh updates

* Update actions/upload-artifact version

* Dockerfile.ubuntu: install rocm-device-libs

* Refactor cpack

* fix cpack if quotes

* Dockerfile.ubuntu rocm < 5 installs rocm-dev

* build-release.sh defaults to boost version 1.79.0
2022-10-17 12:54:26 -05:00

86 lines
2.9 KiB
Docker

ARG DISTRO=centos
ARG VERSION=7
FROM ${DISTRO}:${VERSION}
ENV HOME /root
ENV SHELL /bin/bash
ENV BASH_ENV /etc/bash.bashrc
ENV DEBIAN_FRONTEND noninteractive
WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]
ENV PATH /usr/local/bin:${PATH}
RUN if [ -n "$(cat /etc/os-release | grep 'VERSION="8"')" ]; then \
dnf -y --disablerepo '*' --enablerepo=extras swap centos-linux-repos centos-stream-repos && \
dnf -y distro-sync; \
fi
RUN yum update -y && \
yum groupinstall -y "Development Tools"
ARG TOOLSET_VERSION=9
RUN yum install -y epel-release && \
if [ -n "$(cat /etc/os-release | grep 'VERSION="8"')" ]; then \
yum install -y centos-release-stream && \
yum install -y gcc-toolset-${TOOLSET_VERSION} openmpi-devel; \
else \
yum install -y centos-release-scl && \
yum install -y devtoolset-${TOOLSET_VERSION} openmpi3-devel dpkg-dev; \
fi; \
yum install -y python3-pip zlib-devel numactl-devel papi-devel dpkg-devel wget curl && \
python3 -m pip install 'cmake==3.21.4'
ARG ROCM_VERSION=0.0
ARG AMDGPU_RPM=21.40.2/rhel/7.9/amdgpu-install-21.40.2.40502-1.el7.noarch.rpm
# ARG AMDGPU_RPM=latest/rhel/7.9/amdgpu-install-21.50.50000-1.el7.noarch.rpm
RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \
yum install -y https://repo.radeon.com/amdgpu-install/${AMDGPU_RPM} && \
amdgpu-install --usecase=rocm,hip,hiplibsdk --no-dkms --skip-broken -y && \
yum install -y rocm-hip-sdk rocm-smi-lib roctracer-dev rocprofiler-dev rccl-dev && \
yum update -y && \
yum clean all; \
fi
ARG PYTHON_VERSIONS="6 7 8 9 10"
RUN wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
export PATH="/opt/conda/bin:${PATH}" && \
conda config --set always_yes yes --set changeps1 no && \
conda update -c defaults -n base conda && \
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults python=3.${i} pip; done && \
conda clean -a -y && \
conda init
RUN if [ "${ROCM_VERSION}" != "0.0" ]; then ln -sf /opt/rocm-${ROCM_VERSION}* /opt/rocm; fi
WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
COPY ./entrypoint-centos.sh /docker-entrypoint.sh
ENTRYPOINT [ "/docker-entrypoint.sh" ]
#1 yum update
#2 yum groupinstall "Development Tools"
#3 yum install devtoolset-9-toolchain
#4 yum install devtoolset-9
#5 yum install devtoolset-7-toolchain
#6 yum search devtoolset
#7 yum search -a devtoolset
#8 yum search --help
#9 yum repolist
#10 yum list available
#11 yum list available devtoolset*
#12 yum list available devtoolset\*
#13 subscription-manager list --available
#14 yum install subscription-manager
#15 subscription-manager list --available
#16 yum install centos-release-scl
#17 yum-config-manager --enable rhel-server-rhscl-7-rpms
#18 yum install devtoolset-7
#19 yum install devtoolset-9
#20 scl enable devtoolset-9 bash