pytorch

Форк
0
/
Dockerfile 
192 строки · 6.5 Кб
1
ARG UBUNTU_VERSION
2

3
FROM ubuntu:${UBUNTU_VERSION}
4

5
ARG UBUNTU_VERSION
6

7
ENV DEBIAN_FRONTEND noninteractive
8

9
ARG CLANG_VERSION
10

11
# Install common dependencies (so that this step can be cached separately)
12
COPY ./common/install_base.sh install_base.sh
13
RUN bash ./install_base.sh && rm install_base.sh
14

15
# Install clang
16
ARG LLVMDEV
17
COPY ./common/install_clang.sh install_clang.sh
18
RUN bash ./install_clang.sh && rm install_clang.sh
19

20
# Install user
21
COPY ./common/install_user.sh install_user.sh
22
RUN bash ./install_user.sh && rm install_user.sh
23

24
# Install katex
25
ARG KATEX
26
COPY ./common/install_docs_reqs.sh install_docs_reqs.sh
27
RUN bash ./install_docs_reqs.sh && rm install_docs_reqs.sh
28

29
# Install conda and other packages (e.g., numpy, pytest)
30
ARG ANACONDA_PYTHON_VERSION
31
ARG CONDA_CMAKE
32
ARG DOCS
33
ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION
34
ENV PATH /opt/conda/envs/py_$ANACONDA_PYTHON_VERSION/bin:/opt/conda/bin:$PATH
35
ENV DOCS=$DOCS
36
COPY requirements-ci.txt requirements-docs.txt /opt/conda/
37
COPY ./common/install_conda.sh install_conda.sh
38
COPY ./common/common_utils.sh common_utils.sh
39
RUN bash ./install_conda.sh && rm install_conda.sh common_utils.sh /opt/conda/requirements-ci.txt /opt/conda/requirements-docs.txt
40
RUN if [ -n "${UNINSTALL_DILL}" ]; then pip uninstall -y dill; fi
41

42
# Install gcc
43
ARG GCC_VERSION
44
COPY ./common/install_gcc.sh install_gcc.sh
45
RUN bash ./install_gcc.sh && rm install_gcc.sh
46

47
# Install lcov for C++ code coverage
48
COPY ./common/install_lcov.sh install_lcov.sh
49
RUN  bash ./install_lcov.sh && rm install_lcov.sh
50

51
# Install cuda and cudnn
52
ARG CUDA_VERSION
53
RUN wget -q https://raw.githubusercontent.com/pytorch/builder/main/common/install_cuda.sh -O install_cuda.sh
54
RUN bash ./install_cuda.sh ${CUDA_VERSION} && rm install_cuda.sh
55
ENV DESIRED_CUDA ${CUDA_VERSION}
56
ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:$PATH
57

58
# (optional) Install UCC
59
ARG UCX_COMMIT
60
ARG UCC_COMMIT
61
ENV UCX_COMMIT $UCX_COMMIT
62
ENV UCC_COMMIT $UCC_COMMIT
63
ENV UCX_HOME /usr
64
ENV UCC_HOME /usr
65
ADD ./common/install_ucc.sh install_ucc.sh
66
RUN if [ -n "${UCX_COMMIT}" ] && [ -n "${UCC_COMMIT}" ]; then bash ./install_ucc.sh; fi
67
RUN rm install_ucc.sh
68

69
# (optional) Install protobuf for ONNX
70
ARG PROTOBUF
71
COPY ./common/install_protobuf.sh install_protobuf.sh
72
RUN if [ -n "${PROTOBUF}" ]; then bash ./install_protobuf.sh; fi
73
RUN rm install_protobuf.sh
74
ENV INSTALLED_PROTOBUF ${PROTOBUF}
75

76
# (optional) Install database packages like LMDB and LevelDB
77
ARG DB
78
COPY ./common/install_db.sh install_db.sh
79
RUN if [ -n "${DB}" ]; then bash ./install_db.sh; fi
80
RUN rm install_db.sh
81
ENV INSTALLED_DB ${DB}
82

83
# (optional) Install vision packages like OpenCV and ffmpeg
84
ARG VISION
85
COPY ./common/install_vision.sh ./common/cache_vision_models.sh ./common/common_utils.sh ./
86
RUN if [ -n "${VISION}" ]; then bash ./install_vision.sh; fi
87
RUN rm install_vision.sh cache_vision_models.sh common_utils.sh
88
ENV INSTALLED_VISION ${VISION}
89

90
# (optional) Install Android NDK
91
ARG ANDROID
92
ARG ANDROID_NDK
93
ARG GRADLE_VERSION
94
COPY ./common/install_android.sh ./common/cache_vision_models.sh ./common/common_utils.sh ./
95
COPY ./android/AndroidManifest.xml AndroidManifest.xml
96
COPY ./android/build.gradle build.gradle
97
RUN if [ -n "${ANDROID}" ]; then bash ./install_android.sh; fi
98
RUN rm install_android.sh cache_vision_models.sh common_utils.sh
99
RUN rm AndroidManifest.xml
100
RUN rm build.gradle
101
ENV INSTALLED_ANDROID ${ANDROID}
102

103
# (optional) Install Vulkan SDK
104
ARG VULKAN_SDK_VERSION
105
COPY ./common/install_vulkan_sdk.sh install_vulkan_sdk.sh
106
RUN if [ -n "${VULKAN_SDK_VERSION}" ]; then bash ./install_vulkan_sdk.sh; fi
107
RUN rm install_vulkan_sdk.sh
108

109
# (optional) Install swiftshader
110
ARG SWIFTSHADER
111
COPY ./common/install_swiftshader.sh install_swiftshader.sh
112
RUN if [ -n "${SWIFTSHADER}" ]; then bash ./install_swiftshader.sh; fi
113
RUN rm install_swiftshader.sh
114

115
# (optional) Install non-default CMake version
116
ARG CMAKE_VERSION
117
COPY ./common/install_cmake.sh install_cmake.sh
118
RUN if [ -n "${CMAKE_VERSION}" ]; then bash ./install_cmake.sh; fi
119
RUN rm install_cmake.sh
120

121
# (optional) Install non-default Ninja version
122
ARG NINJA_VERSION
123
COPY ./common/install_ninja.sh install_ninja.sh
124
RUN if [ -n "${NINJA_VERSION}" ]; then bash ./install_ninja.sh; fi
125
RUN rm install_ninja.sh
126

127
COPY ./common/install_openssl.sh install_openssl.sh
128
RUN bash ./install_openssl.sh
129
ENV OPENSSL_ROOT_DIR /opt/openssl
130
ENV OPENSSL_DIR /opt/openssl
131
RUN rm install_openssl.sh
132

133
ARG INDUCTOR_BENCHMARKS
134
COPY ./common/install_inductor_benchmark_deps.sh install_inductor_benchmark_deps.sh
135
COPY ./common/common_utils.sh common_utils.sh
136
COPY ci_commit_pins/huggingface.txt huggingface.txt
137
COPY ci_commit_pins/timm.txt timm.txt
138
RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
139
RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface.txt
140

141
ARG TRITON
142
# Install triton, this needs to be done before sccache because the latter will
143
# try to reach out to S3, which docker build runners don't have access
144
COPY ./common/install_triton.sh install_triton.sh
145
COPY ./common/common_utils.sh common_utils.sh
146
COPY ci_commit_pins/triton.txt triton.txt
147
RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi
148
RUN rm install_triton.sh common_utils.sh triton.txt
149

150
ARG EXECUTORCH
151
# Build and install executorch
152
COPY ./common/install_executorch.sh install_executorch.sh
153
COPY ./common/common_utils.sh common_utils.sh
154
COPY ci_commit_pins/executorch.txt executorch.txt
155
RUN if [ -n "${EXECUTORCH}" ]; then bash ./install_executorch.sh; fi
156
RUN rm install_executorch.sh common_utils.sh executorch.txt
157

158
ARG ONNX
159
# Install ONNX dependencies
160
COPY ./common/install_onnx.sh ./common/common_utils.sh ./
161
RUN if [ -n "${ONNX}" ]; then bash ./install_onnx.sh; fi
162
RUN rm install_onnx.sh common_utils.sh
163

164
# Install ccache/sccache (do this last, so we get priority in PATH)
165
COPY ./common/install_cache.sh install_cache.sh
166
ENV PATH /opt/cache/bin:$PATH
167
RUN bash ./install_cache.sh && rm install_cache.sh
168

169
# Add jni.h for java host build
170
COPY ./common/install_jni.sh install_jni.sh
171
COPY ./java/jni.h jni.h
172
RUN bash ./install_jni.sh && rm install_jni.sh
173

174
# Install Open MPI for CUDA
175
COPY ./common/install_openmpi.sh install_openmpi.sh
176
RUN if [ -n "${CUDA_VERSION}" ]; then bash install_openmpi.sh; fi
177
RUN rm install_openmpi.sh
178

179
# Include BUILD_ENVIRONMENT environment variable in image
180
ARG BUILD_ENVIRONMENT
181
ENV BUILD_ENVIRONMENT ${BUILD_ENVIRONMENT}
182

183
# Install LLVM dev version (Defined in the pytorch/builder github repository)
184
COPY --from=pytorch/llvm:9.0.1 /opt/llvm /opt/llvm
185

186
# AWS specific CUDA build guidance
187
ENV TORCH_CUDA_ARCH_LIST Maxwell
188
ENV TORCH_NVCC_FLAGS "-Xfatbin -compress-all"
189
ENV CUDA_PATH /usr/local/cuda
190

191
USER jenkins
192
CMD ["bash"]
193

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.