-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimizing Dockerfiles and buildscripts (#359)
* Optimizing Dockerfiles and buildscripts Signed-off-by: coleramos425 <[email protected]> * Give docker scripts exe permission Signed-off-by: coleramos425 <[email protected]> --------- Signed-off-by: coleramos425 <[email protected]>
- Loading branch information
1 parent
d5c637e
commit d4ebc3d
Showing
13 changed files
with
727 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
ARG DISTRO=opensuse/leap | ||
ARG VERSION=15.3 | ||
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} | ||
ENV LIBRARY_PATH ${LIBRARY_PATH}:/opt/amdgpu/lib64 | ||
|
||
RUN set +e; \ | ||
zypper --non-interactive -i --gpg-auto-import-keys refresh; \ | ||
zypper --non-interactive -i patch; \ | ||
zypper --non-interactive -i patch; \ | ||
zypper --non-interactive -i --gpg-auto-import-keys refresh; \ | ||
exit 0 | ||
|
||
RUN zypper --non-interactive update -y && \ | ||
zypper --non-interactive dist-upgrade -y && \ | ||
zypper --non-interactive install -y -t pattern devel_basis && \ | ||
zypper --non-interactive install -y python3-pip gcc-c++ git dpkg-devel rpm-build wget curl binutils-gold && \ | ||
python3 -m pip install 'cmake==3.28.4' | ||
|
||
ARG ROCM_VERSION=0.0 | ||
ARG AMDGPU_RPM=latest/sle/15/amdgpu-install-21.50.50000-1.noarch.rpm | ||
ARG PERL_REPO=SLE_15 | ||
|
||
RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \ | ||
zypper --non-interactive addrepo https://mirrorcache-us.opensuse.org/repositories/devel:/languages:/perl/${PERL_REPO}/devel:languages:perl.repo && \ | ||
zypper --non-interactive --no-gpg-checks install -y https://repo.radeon.com/amdgpu-install/${AMDGPU_RPM} && \ | ||
zypper --non-interactive --gpg-auto-import-keys refresh && \ | ||
zypper --non-interactive install -y rocm-dev rocm-smi-lib roctracer-dev rocprofiler-dev rccl-devel libpciaccess0 && \ | ||
zypper --non-interactive clean --all; \ | ||
fi | ||
|
||
ARG PYTHON_VERSIONS="6 7 8 9 10 11 12" | ||
|
||
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 -c conda-forge python=3.${i} pip; done && \ | ||
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done && \ | ||
conda clean -a -y && \ | ||
conda init | ||
|
||
WORKDIR /home | ||
SHELL [ "/bin/bash", "--login", "-c" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
ARG DISTRO=opensuse/leap | ||
ARG VERSION=15.3 | ||
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} | ||
|
||
ARG EXTRA_PACKAGES="" | ||
# ARG ELFUTILS_DOWNLOAD_VERSION="0.186" | ||
# ARG NJOBS="12" | ||
|
||
RUN set +e; \ | ||
zypper --non-interactive -i --gpg-auto-import-keys refresh; \ | ||
zypper --non-interactive -i patch; \ | ||
zypper --non-interactive -i patch; \ | ||
zypper --non-interactive -i --gpg-auto-import-keys refresh; \ | ||
exit 0 | ||
|
||
RUN zypper --non-interactive update -y && \ | ||
zypper --non-interactive dist-upgrade -y && \ | ||
zypper --non-interactive install -y -t pattern devel_basis && \ | ||
zypper --non-interactive install -y python3-pip gcc-c++ git dpkg-devel rpm-build curl wget binutils-gold && \ | ||
python3 -m pip install 'cmake==3.28.4' && \ | ||
zypper --non-interactive clean --all | ||
|
||
ARG PYTHON_VERSIONS="6 7 8 9 10 11 12" | ||
|
||
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 -c conda-forge python=3.${i} pip numpy; done && \ | ||
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy pandas dataclasses; done && \ | ||
conda clean -a -y && \ | ||
cd /tmp && \ | ||
shopt -s dotglob extglob && \ | ||
rm -rf * | ||
|
||
WORKDIR /home | ||
SHELL [ "/bin/bash", "--login", "-c" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
ARG DISTRO=rockylinux | ||
ARG VERSION=8 | ||
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} | ||
ENV LIBRARY_PATH ${LIBRARY_PATH}:/opt/amdgpu/lib64 | ||
|
||
RUN yum groupinstall -y "Development Tools" && \ | ||
yum install -y epel-release && \ | ||
yum install -y --allowerasing curl dpkg-devel python3-pip wget zlib-devel which && \ | ||
yum clean all && \ | ||
python3 -m pip install 'cmake==3.28.4' | ||
|
||
ARG ROCM_VERSION=0.0 | ||
ARG AMDGPU_RPM=5.4/rhel/8.7/amdgpu-install-5.4.50400-1.el8.noarch.rpm | ||
|
||
RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \ | ||
OS_VERSION_MAJOR=$(cat /etc/os-release | grep 'VERSION_ID' | sed 's/=/ /1' | awk '{print $NF}' | sed 's/"//g' | sed 's/\./ /g' | awk '{print $1}') && \ | ||
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} && \ | ||
yum install -y rocm-dev rocm-smi-lib roctracer-dev rocprofiler-dev libpciaccess && \ | ||
yum clean all; \ | ||
fi | ||
|
||
ARG PYTHON_VERSIONS="6 7 8 9 10 11 12" | ||
|
||
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 -c conda-forge python=3.${i} pip; done && \ | ||
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; 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 | ||
ENV LC_ALL C.UTF-8 | ||
SHELL [ "/bin/bash", "--login", "-c" ] | ||
COPY ./entrypoint-rhel.sh /docker-entrypoint.sh | ||
ENTRYPOINT [ "/docker-entrypoint.sh" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
|
||
ARG DISTRO=rockylinux | ||
ARG VERSION=8 | ||
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} | ||
|
||
ARG EXTRA_PACKAGES="" | ||
# ARG ELFUTILS_DOWNLOAD_VERSION="0.186" | ||
# ARG NJOBS="12" | ||
|
||
RUN yum groupinstall -y "Development Tools" && \ | ||
yum install -y epel-release && \ | ||
yum install -y --allowerasing curl dpkg-devel python3-pip wget zlib-devel which git && \ | ||
yum clean all && \ | ||
python3 -m pip install --upgrade pip && \ | ||
python3 -m pip install 'cmake==3.28.4' | ||
|
||
ARG PYTHON_VERSIONS="6 7 8 9 10 11 12" | ||
|
||
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 -c conda-forge python=3.${i} pip numpy; done && \ | ||
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy pandas dataclasses; done && \ | ||
conda clean -a -y && \ | ||
cd /tmp && \ | ||
shopt -s dotglob extglob && \ | ||
rm -rf * | ||
|
||
WORKDIR /home | ||
SHELL [ "/bin/bash", "--login", "-c" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
ARG DISTRO | ||
ARG VERSION | ||
FROM ${DISTRO}:${VERSION} | ||
|
||
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 | ||
|
||
WORKDIR /tmp | ||
SHELL [ "/bin/bash", "-c" ] | ||
|
||
ARG EXTRA_PACKAGES="" | ||
ARG ROCM_REPO_VERSION="debian" | ||
ARG ROCM_VERSION="0.0" | ||
ARG ROCM_REPO_DIST="ubuntu" | ||
ARG PYTHON_VERSIONS="6 7 8 9 10 11 12" | ||
ENV PATH ${HOME}/.local/bin:${PATH} | ||
|
||
RUN apt-get update && \ | ||
apt-get dist-upgrade -y && \ | ||
apt-get install -y build-essential cmake libnuma1 wget gnupg2 m4 bash-completion git-core autoconf libtool autotools-dev python3-pip lsb-release libpapi-dev libpfm4-dev libudev1 libopenmpi-dev rpm librpm-dev curl apt-utils && \ | ||
python3 -m pip install 'cmake==3.28.4' | ||
|
||
RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \ | ||
if [ -d /etc/apt/trusted.gpg.d ]; then \ | ||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | gpg --dearmor > /etc/apt/trusted.gpg.d/rocm.gpg; \ | ||
else \ | ||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -; \ | ||
fi && \ | ||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${ROCM_REPO_VERSION}/ ${ROCM_REPO_DIST} main" | tee /etc/apt/sources.list.d/rocm.list && \ | ||
apt-get update && \ | ||
apt-get dist-upgrade -y && \ | ||
apt-get install -y hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev && \ | ||
apt-get install -y hip-base hip-runtime-amd hip-dev && \ | ||
apt-get install -y rocm-llvm rocm-core rocm-smi-lib rocm-device-libs && \ | ||
apt-get install -y roctracer-dev rocprofiler-dev rccl-dev ${EXTRA_PACKAGES} && \ | ||
if [ "$(echo ${ROCM_VERSION} | awk -F '.' '{print $1}')" -lt "5" ]; then apt-get install -y rocm-dev; fi && \ | ||
apt-get autoclean; \ | ||
fi | ||
|
||
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 -c conda-forge python=3.${i} pip; done && \ | ||
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done && \ | ||
conda clean -a -y && \ | ||
conda init | ||
|
||
ENV LC_ALL C.UTF-8 | ||
WORKDIR /home | ||
SHELL [ "/bin/bash", "--login", "-c" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
|
||
ARG DISTRO | ||
ARG VERSION | ||
FROM ${DISTRO}:${VERSION} | ||
|
||
ENV HOME /root | ||
ENV LANG C.UTF-8 | ||
ENV SHELL /bin/bash | ||
ENV BASH_ENV /etc/bash.bashrc | ||
ENV DEBIAN_FRONTEND noninteractive | ||
|
||
WORKDIR /tmp | ||
SHELL [ "/bin/bash", "-c" ] | ||
|
||
ARG EXTRA_PACKAGES="" | ||
# ARG ELFUTILS_DOWNLOAD_VERSION="0.186" | ||
# ARG BOOST_DOWNLOAD_VERSION="1.79.0" | ||
# ARG NJOBS="12" | ||
ARG PYTHON_VERSIONS="6 7 8 9 10 11 12" | ||
|
||
ENV PATH /usr/local/bin:${PATH} | ||
ENV LIBRARY_PATH /usr/local/lib:/usr/local/lib64:${LIBRARY_PATH} | ||
ENV LD_LIBRARY_PATH /usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH} | ||
ENV CMAKE_PREFIX_PATH /usr/local:${CMAKE_PREFIX_PATH} | ||
|
||
|
||
RUN apt-get update && \ | ||
apt-get dist-upgrade -y && \ | ||
apt-get install -y autoconf autotools-dev bash-completion build-essential bzip2 cmake curl environment-modules git-core gnupg2 gzip libtool locales lsb-release m4 python3-pip unzip wget zip zlib1g-dev && \ | ||
python3 -m pip install 'cmake==3.28.4' && \ | ||
apt-get autoclean && \ | ||
locale -a && \ | ||
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 -c conda-forge python=3.${i} pip numpy; done && \ | ||
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy pandas dataclasses; done && \ | ||
conda clean -a -y && \ | ||
cd /tmp && \ | ||
shopt -s dotglob extglob && \ | ||
rm -rf * | ||
|
||
|
||
ENV LC_ALL C.UTF-8 | ||
WORKDIR /home | ||
SHELL [ "/bin/bash", "--login", "-c" ] |
Oops, something went wrong.