Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
superbenchmark
Commits
4599cd69
Commit
4599cd69
authored
Apr 02, 2026
by
one
Browse files
Add dtk dockerfile for docker 18
parent
b8b080e2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
175 additions
and
0 deletions
+175
-0
dockerfile/dtk26.04_docker18.dockerfile
dockerfile/dtk26.04_docker18.dockerfile
+175
-0
No files found.
dockerfile/dtk26.04_docker18.dockerfile
0 → 100644
View file @
4599cd69
ARG
BASE_IMAGE=harbor.sourcefind.cn:5443/dcu/admin/base/vllm:0.11.0-ubuntu22.04-dtk26.04-py3.10
FROM
${BASE_IMAGE}
# OS:
# - Ubuntu: 22.04
# - Docker Client: 20.10.8
# DTK:
# - DTK: 26.04
# Lib:
# - ucx: 1.20.0
# - openmpi: 5.0.9
# Intel:
# - mlc: v3.12
LABEL
maintainer="SuperBench"
ENV
DEBIAN_FRONTEND=noninteractive
RUN
apt-get update
&&
\
apt-get
-q
install
-y
--no-install-recommends
\
autoconf
\
automake
\
bc
\
build-essential
\
curl
\
dmidecode
\
git
\
iproute2
\
jq
\
libaio-dev
\
libboost-program-options-dev
\
libcap2
\
libcurl4-openssl-dev
\
libnuma-dev
\
libpci-dev
\
libssl-dev
\
libtinfo5
\
libtool
\
lshw
\
net-tools
\
numactl
\
openssh-client
\
openssh-server
\
pciutils
\
python3.10-venv
\
rsync
\
sudo
\
util-linux
\
vim
\
wget
\
&&
\
rm
-rf
/tmp/
*
# Install Docker
ENV
DOCKER_VERSION=20.10.8
RUN
cd
/tmp
&&
\
wget
-q
https://download.docker.com/linux/static/stable/x86_64/docker-
${
DOCKER_VERSION
}
.tgz
-O
docker.tgz
&&
\
tar
--extract
--file
docker.tgz
--strip-components
1
--directory
/usr/local/bin/
&&
\
rm
docker.tgz
# Update system config
RUN
mkdir
-p
/root/.ssh
&&
\
touch
/root/.ssh/authorized_keys
&&
\
mkdir
-p
/var/run/sshd
&&
\
sed
-i
"s/[# ]*PermitRootLogin prohibit-password/PermitRootLogin yes/"
/etc/ssh/sshd_config
&&
\
sed
-i
"s/[# ]*PermitUserEnvironment no/PermitUserEnvironment yes/"
/etc/ssh/sshd_config
&&
\
sed
-i
"s/[# ]*Port.*/Port 22/"
/etc/ssh/sshd_config
&&
\
echo
"* soft nofile 1048576
\n
* hard nofile 1048576"
>>
/etc/security/limits.conf
&&
\
echo
"root soft nofile 1048576
\n
root hard nofile 1048576"
>>
/etc/security/limits.conf
ENV
ROCM_PATH=/opt/dtk
# Docker 18.09 legacy builder cannot use BuildKit-only named contexts or
# RUN --mount. Prepare a local ./hyhal directory in the build context before
# running docker build, then copy it into the image.
COPY
hyhal /opt/hyhal
# Install UCX
ARG
UCX_VERSION=1.20.0
ARG
UCX_HOME=/opt/ucx
RUN
cd
/tmp
&&
\
wget https://github.com/openucx/ucx/releases/download/v
${
UCX_VERSION
}
/ucx-
${
UCX_VERSION
}
.tar.gz
&&
\
tar
xzf ucx-
${
UCX_VERSION
}
.tar.gz
&&
\
cd
ucx-
${
UCX_VERSION
}
&&
\
./contrib/configure-release
--prefix
=
${
UCX_HOME
}
\
--enable-optimizations
--enable-tuning
\
--enable-cma
--enable-mt
\
--with-mlx5
--with-rc
--with-ud
--with-dc
--with-dm
--with-ib_hw_tm
\
--with-verbs
=
/usr/include
--with-rdmacm
=
/usr
\
--with-rocm
=
${
ROCM_PATH
}
\
--without-knem
--without-cuda
--without-java
&&
\
make
-j
$(
nproc
)
&&
\
rm
-rf
${
UCX_HOME
}
&&
\
make
install
&&
\
rm
-rf
/tmp/ucx-
${
UCX_VERSION
}*
# Install OpenMPI
ENV
MPI_HOME=/opt/mpi
ARG
OMPI_VERSION=5.0.9
RUN
cd
/tmp
&&
\
wget https://download.open-mpi.org/release/open-mpi/v
${
OMPI_VERSION
%.*
}
/openmpi-
${
OMPI_VERSION
}
.tar.gz
&&
\
tar
xzf openmpi-
${
OMPI_VERSION
}
.tar.gz
&&
\
cd
openmpi-
${
OMPI_VERSION
}
&&
\
./configure
--prefix
=
${
MPI_HOME
}
\
--with-ucx
=
${
UCX_HOME
}
\
--with-rocm
=
${
ROCM_PATH
}
\
--enable-builtin-atomics
\
--enable-wrapper-rpath
\
--enable-mca-no-build
=
btl-uct
\
--enable-prte-prefix-by-default
&&
\
make
-j
$(
nproc
)
&&
\
rm
-rf
${
MPI_HOME
}
&&
\
make
install
&&
\
ldconfig
&&
\
cd
/
&&
\
rm
-rf
/tmp/openmpi-
${
OMPI_VERSION
}*
# Install Intel MLC
RUN
cd
/tmp
&&
\
wget
-q
https://downloadmirror.intel.com/866182/mlc_v3.12.tgz
-O
mlc.tgz
&&
\
tar
xzf mlc.tgz Linux/mlc
&&
\
cp
./Linux/mlc /usr/local/bin/
&&
\
rm
-rf
./Linux mlc.tgz
# Add rocblas-bench to path
RUN
ln
-s
${
ROCM_PATH
}
/lib/rocblas/benchmark_tool/rocblas-bench
${
ROCM_PATH
}
/bin/
&&
\
chmod
+x
${
ROCM_PATH
}
/bin/rocblas-bench
&&
\
ln
-s
${
ROCM_PATH
}
/lib/hipblaslt/benchmark_tool/hipblaslt-bench
${
ROCM_PATH
}
/bin/
&&
\
chmod
+x
${
ROCM_PATH
}
/bin/hipblaslt-bench
ENV
PATH="${MPI_HOME}/bin:${UCX_HOME}/bin:/opt/superbench/bin:/usr/local/bin/${PATH:+:${PATH}}" \
LD_LIBRARY_PATH="${MPI_HOME}/lib:${UCX_HOME}/lib:/usr/lib/x86_64-linux-gnu/:/usr/local/lib/${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" \
SB_HOME=/opt/superbench \
SB_MICRO_PATH=/opt/superbench \
ANSIBLE_DEPRECATION_WARNINGS=FALSE \
ANSIBLE_COLLECTIONS_PATH=/usr/share/ansible/collections
WORKDIR
${SB_HOME}
COPY
third_party third_party
COPY
dockerfile/etc/dtk26.04-topo-mapping.xml ${ROCM_PATH}/rccl/lib/topo_mapping_default.xml
RUN
make
\
RCCL_HOME
=
${
ROCM_PATH
}
/rccl
\
ROCM_PATH
=
${
ROCM_PATH
}
\
HIP_HOME
=
${
ROCM_PATH
}
/hip
\
MPI_HOME
=
${
MPI_HOME
}
\
-C
third_party
\
dtk
\
-o
cpu_hpl
\
-o
cpu_stream
\
-o
megatron_lm
\
-o
apex_rocm
\
-o
megatron_deepspeed
\
-o
rocm_megatron_lm
COPY
. .
ARG
SB_PIP_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
ENV
USE_HIP_DATATYPE=1 \
USE_HIPBLAS_COMPUTETYPE=1 \
VIRTUAL_ENV=/opt/superbench-venv
ENV
PATH="${VIRTUAL_ENV}/bin:${MPI_HOME}/bin:${UCX_HOME}/bin:/opt/superbench/bin:/usr/local/bin/${PATH:+:${PATH}}"
RUN
sed
-i
'/NCCL_/d'
/etc/bash.bashrc
&&
\
echo
PATH
=
"
$PATH
"
>
/etc/environment
&&
\
echo
LD_LIBRARY_PATH
=
"
$LD_LIBRARY_PATH
"
>>
/etc/environment
&&
\
echo
SB_MICRO_PATH
=
"
$SB_MICRO_PATH
"
>>
/etc/environment
&&
\
echo
VIRTUAL_ENV
=
"
$VIRTUAL_ENV
"
>>
/etc/environment
RUN
python3
-m
venv
--system-site-packages
${
VIRTUAL_ENV
}
&&
\
python3
-m
pip
install
-i
${
SB_PIP_INDEX_URL
}
--upgrade
pip wheel
setuptools
==
65.7 mpi4py
&&
\
python3
-m
pip
install
-i
${
SB_PIP_INDEX_URL
}
--no-build-isolation
.[hgworker]
&&
\
make cppbuild
&&
\
make postinstall
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment