GitHub Actions workflow and docker updates (#290)

* Support ROCm 5.5 in docker

* Update containers workflow

- add Ubuntu and OpenSUSE container builds for ROCm 5.4 and 5.5
- add RHEL builds

* Update cpack workflow

- build on PR against main when cpack.yml or docker files updated
- removed packaging for ROCm < 5.2 for many OSes
- added packaging for ROCm 5.5

* Update OpenSUSE workflow

- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails

* Update RedHat workflow

- provide run-name
- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails

* Update Ubuntu (Bionic) workflow

- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails

* Update Ubuntu (Focal) workflow

- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
- remove testing of ROCm 4.3, 5.0, 5.1
- add testing of ROCm 5.5

* Update Ubuntu (Jammy) workflow

- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
- add testing of ROCm latest

* Dockerfile.{rhel,opensuse} update

- remove use of amdgpu-install in favor of installing rocm-dev package
  - In ROCm 5.5, amdgpu-install changed meaning of --usecase=rocm (added rocmdev use case)

* redhat workflow update

- remove use of amdgpu-install in favor of installing rocm-dev package
  - In ROCm 5.5, amdgpu-install changed meaning of --usecase=rocm (added rocmdev use case)

* build-docker.sh update

- add '--progress plain' to docker build commands

* Ubuntu (jammy) workflow update

- fix rocm installation

* Update Dockerfile.rhel

- add LIBRARY_PATH for /opt/amdgpu/lib64 for redhat

* Update Dockerfile.rhel

- install libpciaccess for rocm
This commit is contained in:
Jonathan R. Madsen
2023-06-20 06:26:17 -05:00
committed by GitHub
parent 1aca8c177b
commit 693f753a9e
10 changed files with 165 additions and 89 deletions
+2 -2
View File
@@ -11,6 +11,7 @@ WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]
ENV PATH /usr/local/bin:${PATH}
ENV LIBRARY_PATH ${LIBRARY_PATH}:/opt/amdgpu/lib64
RUN zypper update -y && \
zypper dist-upgrade -y && \
@@ -26,8 +27,7 @@ RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \
zypper addrepo https://mirrorcache-us.opensuse.org/repositories/devel:/languages:/perl/${PERL_REPO}/devel:languages:perl.repo && \
zypper --no-gpg-checks install -y https://repo.radeon.com/amdgpu-install/${AMDGPU_RPM} && \
zypper --non-interactive --gpg-auto-import-keys refresh && \
amdgpu-install --usecase=rocm,hip --no-dkms -y && \
zypper install -y rocm-smi-lib roctracer-dev rocprofiler-dev rccl-devel && \
zypper install -y rocm-dev rocm-smi-lib roctracer-dev rocprofiler-dev rccl-devel libpciaccess0 && \
zypper clean --all; \
fi
+2 -2
View File
@@ -11,6 +11,7 @@ WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]
ENV PATH /usr/local/bin:${PATH}
ENV LIBRARY_PATH ${LIBRARY_PATH}:/opt/amdgpu/lib64
RUN yum groupinstall -y "Development Tools" && \
yum install -y epel-release && \
@@ -26,8 +27,7 @@ RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \
if [ "${OS_VERSION_MAJOR}" -eq 8 ]; then PERL_REPO=powertools; else PERL_REPO=crb; fi && \
dnf -y --enablerepo=${PERL_REPO} install perl-File-BaseDir && \
yum install -y https://repo.radeon.com/amdgpu-install/${AMDGPU_RPM} && \
amdgpu-install --usecase=rocm,hip --no-dkms --skip-broken -y && \
yum install -y rocm-smi-lib roctracer-dev rocprofiler-dev && \
yum install -y rocm-dev rocm-smi-lib roctracer-dev rocprofiler-dev libpciaccess && \
yum clean all; \
fi
+6 -12
View File
@@ -173,7 +173,7 @@ do
4.1* | 4.0*)
ROCM_REPO_DIST="xenial"
;;
5.3* | 5.4*)
5.3* | 5.4* | 5.5*)
case "${VERSION}" in
22.04)
ROCM_REPO_DIST="jammy"
@@ -191,7 +191,7 @@ do
*)
;;
esac
verbose-build docker build . ${PULL} -f ${DOCKER_FILE} --tag ${CONTAINER} --build-arg DISTRO=${DISTRO} --build-arg VERSION=${VERSION} --build-arg ROCM_VERSION=${ROCM_VERSION} --build-arg ROCM_REPO_VERSION=${ROCM_REPO_VERSION} --build-arg ROCM_REPO_DIST=${ROCM_REPO_DIST} --build-arg PYTHON_VERSIONS=\"${PYTHON_VERSIONS}\"
verbose-build docker build . ${PULL} --progress plain -f ${DOCKER_FILE} --tag ${CONTAINER} --build-arg DISTRO=${DISTRO} --build-arg VERSION=${VERSION} --build-arg ROCM_VERSION=${ROCM_VERSION} --build-arg ROCM_REPO_VERSION=${ROCM_REPO_VERSION} --build-arg ROCM_REPO_DIST=${ROCM_REPO_DIST} --build-arg PYTHON_VERSIONS=\"${PYTHON_VERSIONS}\"
elif [ "${DISTRO}" = "rhel" ]; then
if [ -z "${VERSION_MINOR}" ]; then
send-error "Please provide a major and minor version of the OS. Supported: >= 8.7, <= 9.1"
@@ -204,14 +204,11 @@ do
# set the sub-URL in https://repo.radeon.com/amdgpu-install/<sub-URL>
case "${ROCM_VERSION}" in
5.4 | 5.4.*)
ROCM_RPM=${ROCM_VERSION}/rhel/${RPM_PATH}/amdgpu-install-${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1${RPM_TAG}.noarch.rpm
;;
5.3 | 5.3.*)
5.3 | 5.3.* | 5.4 | 5.4.* | 5.5 | 5.5.*)
ROCM_RPM=${ROCM_VERSION}/rhel/${RPM_PATH}/amdgpu-install-${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1${RPM_TAG}.noarch.rpm
;;
5.2 | 5.2.* | 5.1 | 5.1.* | 5.0 | 5.0.* | 4.*)
send-error "Invalid ROCm version ${ROCM_VERSION}. Supported: >= 5.3.0, <= 5.4.x"
send-error "Invalid ROCm version ${ROCM_VERSION}. Supported: >= 5.3.0, <= 5.5.x"
;;
0.0)
;;
@@ -223,7 +220,7 @@ do
# use Rocky Linux as a base image for RHEL builds
DISTRO_BASE_IMAGE=rockylinux
verbose-build docker build . ${PULL} -f ${DOCKER_FILE} --tag ${CONTAINER} --build-arg DISTRO=${DISTRO_BASE_IMAGE} --build-arg VERSION=${VERSION} --build-arg ROCM_VERSION=${ROCM_VERSION} --build-arg AMDGPU_RPM=${ROCM_RPM} --build-arg PYTHON_VERSIONS=\"${PYTHON_VERSIONS}\"
verbose-build docker build . ${PULL} --progress plain -f ${DOCKER_FILE} --tag ${CONTAINER} --build-arg DISTRO=${DISTRO_BASE_IMAGE} --build-arg VERSION=${VERSION} --build-arg ROCM_VERSION=${ROCM_VERSION} --build-arg AMDGPU_RPM=${ROCM_RPM} --build-arg PYTHON_VERSIONS=\"${PYTHON_VERSIONS}\"
elif [ "${DISTRO}" = "opensuse" ]; then
case "${VERSION}" in
15.*)
@@ -235,10 +232,7 @@ do
;;
esac
case "${ROCM_VERSION}" in
5.4 | 5.4.*)
ROCM_RPM=${ROCM_VERSION}/sle/${VERSION}/amdgpu-install-${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1.noarch.rpm
;;
5.3 | 5.3.*)
5.3 | 5.3.* | 5.4 | 5.4.* | 5.5 | 5.5.*)
ROCM_RPM=${ROCM_VERSION}/sle/${VERSION}/amdgpu-install-${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1.noarch.rpm
;;
5.2 | 5.2.*)