pytorch

Форк
0
123 строки · 4.2 Кб
1
ARG CENTOS_VERSION
2

3
FROM centos:${CENTOS_VERSION}
4

5
ARG CENTOS_VERSION
6

7
# Set AMD gpu targets to build for
8
ARG PYTORCH_ROCM_ARCH
9
ENV PYTORCH_ROCM_ARCH ${PYTORCH_ROCM_ARCH}
10

11
# Install required packages to build Caffe2
12

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

17
# Update CentOS git version
18
RUN yum -y remove git
19
RUN yum -y remove git-*
20
RUN yum -y install https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.9-1.x86_64.rpm || \
21
    (yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo-1.9-1.x86_64.rpm && \
22
    sed -i "s/packages.endpoint/packages.endpointdev/" /etc/yum.repos.d/endpoint.repo)
23
RUN yum install -y git
24

25
# Install devtoolset
26
ARG DEVTOOLSET_VERSION
27
COPY ./common/install_devtoolset.sh install_devtoolset.sh
28
RUN bash ./install_devtoolset.sh && rm install_devtoolset.sh
29
ENV BASH_ENV "/etc/profile"
30

31
# (optional) Install non-default glibc version
32
ARG GLIBC_VERSION
33
COPY ./common/install_glibc.sh install_glibc.sh
34
RUN if [ -n "${GLIBC_VERSION}" ]; then bash ./install_glibc.sh; fi
35
RUN rm install_glibc.sh
36

37
# Install user
38
COPY ./common/install_user.sh install_user.sh
39
RUN bash ./install_user.sh && rm install_user.sh
40

41
# Install conda and other packages (e.g., numpy, pytest)
42
ARG ANACONDA_PYTHON_VERSION
43
ARG CONDA_CMAKE
44
ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION
45
ENV PATH /opt/conda/envs/py_$ANACONDA_PYTHON_VERSION/bin:/opt/conda/bin:$PATH
46
COPY requirements-ci.txt /opt/conda/requirements-ci.txt
47
COPY ./common/install_conda.sh install_conda.sh
48
COPY ./common/common_utils.sh common_utils.sh
49
RUN bash ./install_conda.sh && rm install_conda.sh common_utils.sh /opt/conda/requirements-ci.txt
50

51
# (optional) Install protobuf for ONNX
52
ARG PROTOBUF
53
COPY ./common/install_protobuf.sh install_protobuf.sh
54
RUN if [ -n "${PROTOBUF}" ]; then bash ./install_protobuf.sh; fi
55
RUN rm install_protobuf.sh
56
ENV INSTALLED_PROTOBUF ${PROTOBUF}
57

58
# (optional) Install database packages like LMDB and LevelDB
59
ARG DB
60
COPY ./common/install_db.sh install_db.sh
61
RUN if [ -n "${DB}" ]; then bash ./install_db.sh; fi
62
RUN rm install_db.sh
63
ENV INSTALLED_DB ${DB}
64

65
# (optional) Install vision packages like OpenCV and ffmpeg
66
ARG VISION
67
COPY ./common/install_vision.sh ./common/cache_vision_models.sh ./common/common_utils.sh ./
68
RUN if [ -n "${VISION}" ]; then bash ./install_vision.sh; fi
69
RUN rm install_vision.sh cache_vision_models.sh common_utils.sh
70
ENV INSTALLED_VISION ${VISION}
71

72
# Install rocm
73
ARG ROCM_VERSION
74
COPY ./common/install_rocm.sh install_rocm.sh
75
RUN bash ./install_rocm.sh
76
RUN rm install_rocm.sh
77
COPY ./common/install_rocm_magma.sh install_rocm_magma.sh
78
RUN bash ./install_rocm_magma.sh
79
RUN rm install_rocm_magma.sh
80
ENV PATH /opt/rocm/bin:$PATH
81
ENV PATH /opt/rocm/hcc/bin:$PATH
82
ENV PATH /opt/rocm/hip/bin:$PATH
83
ENV PATH /opt/rocm/opencl/bin:$PATH
84
ENV PATH /opt/rocm/llvm/bin:$PATH
85
ENV MAGMA_HOME /opt/rocm/magma
86
ENV LANG en_US.utf8
87
ENV LC_ALL en_US.utf8
88

89
# (optional) Install non-default CMake version
90
ARG CMAKE_VERSION
91
COPY ./common/install_cmake.sh install_cmake.sh
92
RUN if [ -n "${CMAKE_VERSION}" ]; then bash ./install_cmake.sh; fi
93
RUN rm install_cmake.sh
94

95
# (optional) Install non-default Ninja version
96
ARG NINJA_VERSION
97
COPY ./common/install_ninja.sh install_ninja.sh
98
RUN if [ -n "${NINJA_VERSION}" ]; then bash ./install_ninja.sh; fi
99
RUN rm install_ninja.sh
100

101
ARG TRITON
102
# Install triton, this needs to be done before sccache because the latter will
103
# try to reach out to S3, which docker build runners don't have access
104
ENV CMAKE_C_COMPILER cc
105
ENV CMAKE_CXX_COMPILER c++
106
COPY ./common/install_triton.sh install_triton.sh
107
COPY ./common/common_utils.sh common_utils.sh
108
COPY ci_commit_pins/triton-rocm.txt triton-rocm.txt
109
COPY triton_version.txt triton_version.txt
110
RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi
111
RUN rm install_triton.sh common_utils.sh triton-rocm.txt triton_version.txt
112

113
# Install ccache/sccache (do this last, so we get priority in PATH)
114
COPY ./common/install_cache.sh install_cache.sh
115
ENV PATH /opt/cache/bin:$PATH
116
RUN bash ./install_cache.sh && rm install_cache.sh
117

118
# Include BUILD_ENVIRONMENT environment variable in image
119
ARG BUILD_ENVIRONMENT
120
ENV BUILD_ENVIRONMENT ${BUILD_ENVIRONMENT}
121

122
USER jenkins
123
CMD ["bash"]
124

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

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

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

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