Skip to content

Commit 0a0b454

Browse files
committed
fix path
1 parent 1ab4a84 commit 0a0b454

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed

base/x86_64/gpu/cu126/Dockerfile

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
ARG PYTHON="python3"
2+
ARG PYTHON_VERSION="3.11.12"
3+
ARG PYTHON_SHORT_VERSION="3.11"
4+
ARG CUDA_MAJOR="12"
5+
ARG CUDA_MINOR="6"
6+
ARG EFA_VERSION="1.42.0"
7+
FROM nvidia/cuda:12.6.3-base-ubuntu22.04 AS base-builder
8+
9+
10+
RUN mv /usr/local/cuda/compat /usr/local \
11+
&& apt-get update \
12+
&& apt-get -y upgrade --only-upgrade systemd \
13+
&& apt-get install -y --allow-change-held-packages --no-install-recommends \
14+
automake \
15+
build-essential \
16+
ca-certificates \
17+
cmake \
18+
curl \
19+
emacs \
20+
git \
21+
jq \
22+
libcurl4-openssl-dev \
23+
libglib2.0-0 \
24+
libegl1 \
25+
libgl1 \
26+
libsm6 \
27+
libssl-dev \
28+
libxext6 \
29+
libxrender-dev \
30+
zlib1g-dev \
31+
unzip \
32+
vim \
33+
wget \
34+
libhwloc-dev \
35+
libgomp1 \
36+
libibverbs-dev \
37+
libnuma1 \
38+
libnuma-dev \
39+
libtool \
40+
openssl \
41+
python3-dev \
42+
autoconf \
43+
pkg-config \
44+
check \
45+
libsubunit0 \
46+
libsubunit-dev \
47+
libffi-dev \
48+
libbz2-dev \
49+
liblzma-dev \
50+
&& apt-get autoremove -y \
51+
&& apt-get clean \
52+
&& rm -rf /var/lib/apt/lists/*
53+
54+
##############################################################################
55+
FROM base-builder AS python-builder
56+
ARG PYTHON_VERSION
57+
COPY install_python.sh install_python.sh
58+
RUN bash install_python.sh ${PYTHON_VERSION} && rm install_python.sh
59+
60+
##############################################################################
61+
FROM base-builder AS cuda-builder
62+
ARG CUDA_MAJOR
63+
ARG CUDA_MINOR
64+
COPY install_cuda.sh install_cuda.sh
65+
RUN bash install_cuda.sh "${CUDA_MAJOR}.${CUDA_MINOR}" && rm install_cuda.sh
66+
67+
##############################################################################
68+
FROM nvidia/cuda:12.6.3-base-ubuntu22.04 AS final
69+
ARG PYTHON
70+
ARG PYTHON_SHORT_VERSION
71+
ARG CUDA_MAJOR
72+
ARG CUDA_MINOR
73+
ARG EFA_VERSION
74+
LABEL maintainer="Amazon AI"
75+
LABEL dlc_major_version="1"
76+
ENV DEBIAN_FRONTEND=noninteractive \
77+
LANG=C.UTF-8 \
78+
LC_ALL=C.UTF-8 \
79+
DLC_CONTAINER_TYPE=base \
80+
# Python won’t try to write .pyc or .pyo files on the import of source modules
81+
# Force stdin, stdout and stderr to be totally unbuffered. Good for logging
82+
PYTHONDONTWRITEBYTECODE=1 \
83+
PYTHONUNBUFFERED=1 \
84+
PYTHONIOENCODING=UTF-8 \
85+
CUDA_HOME="/usr/local/cuda" \
86+
PATH="/opt/amazon/openmpi/bin:/opt/amazon/efa/bin:/usr/local/cuda/bin:${PATH}" \
87+
LD_LIBRARY_PATH="/usr/local/lib:/usr/local/cuda/lib64:/opt/amazon/ofi-nccl/lib:/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:${LD_LIBRARY_PATH}"
88+
89+
WORKDIR /
90+
91+
# + python and pip packages (awscli, boto3, requests)
92+
COPY --from=python-builder /usr/local/lib/python${PYTHON_SHORT_VERSION} /usr/local/lib/python${PYTHON_SHORT_VERSION}
93+
COPY --from=python-builder /usr/local/include/python${PYTHON_SHORT_VERSION} /usr/local/include/python${PYTHON_SHORT_VERSION}
94+
COPY --from=python-builder /usr/local/bin /usr/local/bin
95+
# + cuda-toolkit, cudnn, nccl
96+
COPY --from=cuda-builder /usr/local/cuda-${CUDA_MAJOR}.${CUDA_MINOR} /usr/local/cuda-${CUDA_MAJOR}.${CUDA_MINOR}
97+
COPY install_efa.sh install_efa.sh
98+
COPY deep_learning_container.py /usr/local/bin/deep_learning_container.py
99+
COPY bash_telemetry.sh /usr/local/bin/bash_telemetry.sh
100+
101+
RUN chmod +x /usr/local/bin/deep_learning_container.py && \
102+
chmod +x /usr/local/bin/bash_telemetry.sh && \
103+
echo 'source /usr/local/bin/bash_telemetry.sh' >> /etc/bash.bashrc && \
104+
# Install EFA
105+
bash install_efa.sh ${EFA_VERSION} && \
106+
rm install_efa.sh && \
107+
# OSS compliance
108+
apt-get update && \
109+
apt-get upgrade -y && \
110+
apt-get install -y --allow-change-held-packages --no-install-recommends \
111+
unzip \
112+
wget && \
113+
apt-get clean && \
114+
HOME_DIR=/root && \
115+
curl -o ${HOME_DIR}/oss_compliance.zip https://aws-dlinfra-utilities.s3.amazonaws.com/oss_compliance.zip && \
116+
unzip ${HOME_DIR}/oss_compliance.zip -d ${HOME_DIR}/ && \
117+
cp ${HOME_DIR}/oss_compliance/test/testOSSCompliance /usr/local/bin/testOSSCompliance && \
118+
chmod +x /usr/local/bin/testOSSCompliance && \
119+
chmod +x ${HOME_DIR}/oss_compliance/generate_oss_compliance.sh && \
120+
${HOME_DIR}/oss_compliance/generate_oss_compliance.sh ${HOME_DIR} ${PYTHON} && \
121+
rm -rf ${HOME_DIR}/oss_compliance* && \
122+
rm -rf /tmp/tmp* && \
123+
rm -rf /var/lib/apt/lists/* && \
124+
rm -rf /root/.cache | true
125+
126+
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)