|
| 1 | +# Copyright (C) 2019-2024 Intel Corporation |
| 2 | +# SPDX-License-Identifier: Apache-2.0 |
| 3 | +FROM ubuntu:20.04 AS base |
| 4 | + |
| 5 | +# hadolint ignore=DL3002 |
| 6 | +USER root |
| 7 | +WORKDIR / |
| 8 | + |
| 9 | +SHELL ["/bin/bash", "-xo", "pipefail", "-c"] |
| 10 | + |
| 11 | +ENV DEBIAN_FRONTEND=noninteractive |
| 12 | + |
| 13 | +# hadolint ignore=DL3008 |
| 14 | +RUN apt-get update && \ |
| 15 | + apt-get install -y --no-install-recommends curl tzdata ca-certificates && \ |
| 16 | + rm -rf /var/lib/apt/lists/* |
| 17 | + |
| 18 | + |
| 19 | +# get product from URL |
| 20 | +ARG package_url |
| 21 | +ARG TEMP_DIR=/tmp/openvino_installer |
| 22 | + |
| 23 | +WORKDIR ${TEMP_DIR} |
| 24 | +# hadolint ignore=DL3020 |
| 25 | +ADD ${package_url} ${TEMP_DIR} |
| 26 | + |
| 27 | +# install product by copying archive content |
| 28 | +ARG TEMP_DIR=/tmp/openvino_installer |
| 29 | +ENV INTEL_OPENVINO_DIR=/opt/intel/openvino |
| 30 | + |
| 31 | +# Creating user openvino and adding it to groups"users" |
| 32 | +RUN useradd -ms /bin/bash -G users openvino |
| 33 | + |
| 34 | +RUN find "${TEMP_DIR}" \( -name "*.tgz" -o -name "*.tar.gz" \) -exec tar -xzf {} \; && \ |
| 35 | + OV_BUILD="$(find . -maxdepth 1 -type d -name "*openvino*" | grep -oP '(?<=_)\d+.\d+.\d.\d+')" && \ |
| 36 | + OV_YEAR="$(echo "$OV_BUILD" | grep -oP '^[^\d]*(\d+)')" && \ |
| 37 | + OV_FOLDER="$(find . -maxdepth 1 -type d -name "*openvino*")" && \ |
| 38 | + mkdir -p /opt/intel/openvino_"$OV_BUILD"/ && \ |
| 39 | + cp -rf "$OV_FOLDER"/* /opt/intel/openvino_"$OV_BUILD"/ && \ |
| 40 | + rm -rf "${TEMP_DIR:?}"/"$OV_FOLDER" && \ |
| 41 | + ln --symbolic /opt/intel/openvino_"$OV_BUILD"/ /opt/intel/openvino && \ |
| 42 | + ln --symbolic /opt/intel/openvino_"$OV_BUILD"/ /opt/intel/openvino_"$OV_YEAR" && \ |
| 43 | + rm -rf "${TEMP_DIR}" && \ |
| 44 | + chown -R openvino /opt/intel/openvino_"$OV_BUILD" |
| 45 | + |
| 46 | + |
| 47 | +ENV HDDL_INSTALL_DIR=/opt/intel/openvino/runtime/3rdparty/hddl |
| 48 | +ENV InferenceEngine_DIR=/opt/intel/openvino/runtime/cmake |
| 49 | +ENV LD_LIBRARY_PATH=/opt/intel/openvino/runtime/3rdparty/hddl/lib:/opt/intel/openvino/runtime/3rdparty/tbb/lib:/opt/intel/openvino/runtime/lib/intel64:/opt/intel/openvino/tools/compile_tool:/opt/intel/openvino/extras/opencv/lib |
| 50 | +ENV OpenCV_DIR=/opt/intel/openvino/extras/opencv/cmake |
| 51 | +ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| 52 | +ENV PYTHONPATH=/opt/intel/openvino/python:/opt/intel/openvino/python/python3:/opt/intel/openvino/extras/opencv/python |
| 53 | +ENV TBB_DIR=/opt/intel/openvino/runtime/3rdparty/tbb/cmake |
| 54 | +ENV ngraph_DIR=/opt/intel/openvino/runtime/cmake |
| 55 | +ENV OpenVINO_DIR=/opt/intel/openvino/runtime/cmake |
| 56 | +ENV INTEL_OPENVINO_DIR=/opt/intel/openvino |
| 57 | +ENV OV_TOKENIZER_PREBUILD_EXTENSION_PATH=/opt/intel/openvino/runtime/lib/intel64/libopenvino_tokenizers.so |
| 58 | +ENV PKG_CONFIG_PATH=/opt/intel/openvino/runtime/lib/intel64/pkgconfig |
| 59 | + |
| 60 | +RUN rm -rf ${INTEL_OPENVINO_DIR}/.distribution && mkdir ${INTEL_OPENVINO_DIR}/.distribution && \ |
| 61 | + touch ${INTEL_OPENVINO_DIR}/.distribution/docker |
| 62 | +# ----------------- |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | +FROM base AS opencv |
| 67 | + |
| 68 | +LABEL description="This is the dev image for OpenCV building with OpenVINO Runtime backend" |
| 69 | +LABEL vendor="Intel Corporation" |
| 70 | + |
| 71 | +SHELL ["/bin/bash", "-xo", "pipefail", "-c"] |
| 72 | + |
| 73 | +# hadolint ignore=DL3008 |
| 74 | +RUN apt-get update; \ |
| 75 | + apt-get install -y --no-install-recommends \ |
| 76 | + git \ |
| 77 | + python3.9-dev \ |
| 78 | + python3-pip \ |
| 79 | + build-essential \ |
| 80 | + cmake \ |
| 81 | + ninja-build \ |
| 82 | + libgtk-3-dev \ |
| 83 | + libpng-dev \ |
| 84 | + libjpeg-dev \ |
| 85 | + libwebp-dev \ |
| 86 | + libtiff5-dev \ |
| 87 | + libopenexr-dev \ |
| 88 | + libopenblas-dev \ |
| 89 | + libx11-dev \ |
| 90 | + libavutil-dev \ |
| 91 | + libavcodec-dev \ |
| 92 | + libavformat-dev \ |
| 93 | + libswscale-dev \ |
| 94 | + libavresample-dev \ |
| 95 | + libtbb2 \ |
| 96 | + libssl-dev \ |
| 97 | + libva-dev \ |
| 98 | + libmfx-dev \ |
| 99 | + libgstreamer1.0-dev \ |
| 100 | + libgstreamer-plugins-base1.0-dev && \ |
| 101 | + rm -rf /var/lib/apt/lists/* |
| 102 | + |
| 103 | +RUN python3 -m pip install --no-cache-dir numpy==1.23.1 |
| 104 | +ARG OPENCV_BRANCH="377be68d923e40900ac5526242bcf221e3f355e5" # 4.8 with a fix for building tests |
| 105 | +WORKDIR /opt/repo |
| 106 | +RUN git clone https://github.com/opencv/opencv.git |
| 107 | +WORKDIR /opt/repo/opencv |
| 108 | +RUN git checkout ${OPENCV_BRANCH} |
| 109 | +WORKDIR /opt/repo/opencv/build |
| 110 | + |
| 111 | +# hadolint ignore=SC1091 |
| 112 | +RUN . "${INTEL_OPENVINO_DIR}"/setupvars.sh; \ |
| 113 | + cmake -G Ninja \ |
| 114 | + -D BUILD_INFO_SKIP_EXTRA_MODULES=ON \ |
| 115 | + -D BUILD_EXAMPLES=OFF \ |
| 116 | + -D BUILD_JASPER=OFF \ |
| 117 | + -D BUILD_JAVA=OFF \ |
| 118 | + -D BUILD_JPEG=ON \ |
| 119 | + -D BUILD_APPS_LIST=version \ |
| 120 | + -D BUILD_opencv_apps=ON \ |
| 121 | + -D BUILD_opencv_java=OFF \ |
| 122 | + -D BUILD_OPENEXR=OFF \ |
| 123 | + -D BUILD_PNG=ON \ |
| 124 | + -D BUILD_TBB=OFF \ |
| 125 | + -D BUILD_WEBP=OFF \ |
| 126 | + -D BUILD_ZLIB=ON \ |
| 127 | + -D BUILD_TESTS=ON \ |
| 128 | + -D WITH_1394=OFF \ |
| 129 | + -D WITH_CUDA=OFF \ |
| 130 | + -D WITH_EIGEN=OFF \ |
| 131 | + -D WITH_GPHOTO2=OFF \ |
| 132 | + -D WITH_GSTREAMER=ON \ |
| 133 | + -D OPENCV_GAPI_GSTREAMER=OFF \ |
| 134 | + -D WITH_GTK_2_X=OFF \ |
| 135 | + -D WITH_IPP=ON \ |
| 136 | + -D WITH_JASPER=OFF \ |
| 137 | + -D WITH_LAPACK=OFF \ |
| 138 | + -D WITH_MATLAB=OFF \ |
| 139 | + -D WITH_MFX=ON \ |
| 140 | + -D WITH_OPENCLAMDBLAS=OFF \ |
| 141 | + -D WITH_OPENCLAMDFFT=OFF \ |
| 142 | + -D WITH_OPENEXR=OFF \ |
| 143 | + -D WITH_OPENJPEG=OFF \ |
| 144 | + -D WITH_QUIRC=OFF \ |
| 145 | + -D WITH_TBB=OFF \ |
| 146 | + -D WITH_TIFF=OFF \ |
| 147 | + -D WITH_VTK=OFF \ |
| 148 | + -D WITH_WEBP=OFF \ |
| 149 | + -D CMAKE_USE_RELATIVE_PATHS=ON \ |
| 150 | + -D CMAKE_SKIP_INSTALL_RPATH=ON \ |
| 151 | + -D ENABLE_BUILD_HARDENING=ON \ |
| 152 | + -D ENABLE_CONFIG_VERIFICATION=ON \ |
| 153 | + -D ENABLE_PRECOMPILED_HEADERS=OFF \ |
| 154 | + -D ENABLE_CXX11=ON \ |
| 155 | + -D INSTALL_PDB=ON \ |
| 156 | + -D INSTALL_TESTS=OFF \ |
| 157 | + -D INSTALL_C_EXAMPLES=OFF \ |
| 158 | + -D INSTALL_PYTHON_EXAMPLES=OFF \ |
| 159 | + -D CMAKE_INSTALL_PREFIX=install \ |
| 160 | + -D OPENCV_SKIP_PKGCONFIG_GENERATION=ON \ |
| 161 | + -D OPENCV_SKIP_PYTHON_LOADER=OFF \ |
| 162 | + -D OPENCV_SKIP_CMAKE_ROOT_CONFIG=ON \ |
| 163 | + -D OPENCV_GENERATE_SETUPVARS=OFF \ |
| 164 | + -D OPENCV_BIN_INSTALL_PATH=bin \ |
| 165 | + -D OPENCV_INCLUDE_INSTALL_PATH=include \ |
| 166 | + -D OPENCV_LIB_INSTALL_PATH=lib \ |
| 167 | + -D OPENCV_CONFIG_INSTALL_PATH=cmake \ |
| 168 | + -D OPENCV_3P_LIB_INSTALL_PATH=3rdparty \ |
| 169 | + -D OPENCV_DOC_INSTALL_PATH=doc \ |
| 170 | + -D OPENCV_OTHER_INSTALL_PATH=etc \ |
| 171 | + -D OPENCV_LICENSES_INSTALL_PATH=etc/licenses \ |
| 172 | + -D OPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT=ON \ |
| 173 | + -D BUILD_opencv_world=OFF \ |
| 174 | + -D BUILD_opencv_python2=OFF \ |
| 175 | + -D BUILD_opencv_python3=ON \ |
| 176 | + -D BUILD_opencv_dnn=OFF \ |
| 177 | + -D BUILD_opencv_gapi=OFF \ |
| 178 | + -D PYTHON3_PACKAGES_PATH=install/python/python3 \ |
| 179 | + -D PYTHON3_LIMITED_API=ON \ |
| 180 | + -D HIGHGUI_PLUGIN_LIST=all \ |
| 181 | + -D OPENCV_PYTHON_INSTALL_PATH=python \ |
| 182 | + -D CPU_BASELINE=SSE4_2 \ |
| 183 | + -D OPENCV_IPP_GAUSSIAN_BLUR=ON \ |
| 184 | + -D WITH_INF_ENGINE=ON \ |
| 185 | + -D InferenceEngine_DIR="${INTEL_OPENVINO_DIR}"/runtime/cmake/ \ |
| 186 | + -D ngraph_DIR="${INTEL_OPENVINO_DIR}"/runtime/cmake/ \ |
| 187 | + -D INF_ENGINE_RELEASE=2022010000 \ |
| 188 | + -D VIDEOIO_PLUGIN_LIST=ffmpeg,gstreamer,mfx \ |
| 189 | + -D CMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined \ |
| 190 | + -D CMAKE_BUILD_TYPE=Release /opt/repo/opencv && \ |
| 191 | + ninja -j "$(nproc)" && cmake --install . && \ |
| 192 | + rm -Rf install/bin install/etc/samples |
| 193 | + |
| 194 | +WORKDIR /opt/repo/opencv/build/install |
| 195 | +CMD ["/bin/bash"] |
| 196 | +# ------------------------------------------------------------------------------------------------- |
| 197 | + |
| 198 | + |
| 199 | +FROM ubuntu:20.04 AS ov_base |
| 200 | + |
| 201 | +LABEL description="This is the dev image for Intel(R) Distribution of OpenVINO(TM) toolkit on Ubuntu 20.04 LTS" |
| 202 | +LABEL vendor="Intel Corporation" |
| 203 | + |
| 204 | +USER root |
| 205 | +WORKDIR / |
| 206 | + |
| 207 | +SHELL ["/bin/bash", "-xo", "pipefail", "-c"] |
| 208 | + |
| 209 | +ENV DEBIAN_FRONTEND=noninteractive |
| 210 | + |
| 211 | +# Creating user openvino and adding it to groups "video" and "users" to use GPU and VPU |
| 212 | +RUN sed -ri -e 's@^UMASK[[:space:]]+[[:digit:]]+@UMASK 000@g' /etc/login.defs && \ |
| 213 | + grep -E "^UMASK" /etc/login.defs && useradd -ms /bin/bash -G video,users openvino && \ |
| 214 | + chown openvino -R /home/openvino |
| 215 | + |
| 216 | +RUN mkdir /opt/intel |
| 217 | + |
| 218 | +ENV INTEL_OPENVINO_DIR /opt/intel/openvino |
| 219 | + |
| 220 | +COPY --from=base /opt/intel/ /opt/intel/ |
| 221 | + |
| 222 | +WORKDIR /thirdparty |
| 223 | + |
| 224 | +ARG INSTALL_SOURCES="no" |
| 225 | + |
| 226 | +ARG DEPS="tzdata \ |
| 227 | + curl" |
| 228 | + |
| 229 | +ARG LGPL_DEPS="g++ \ |
| 230 | + gcc \ |
| 231 | + libc6-dev \ |
| 232 | + python3.9-venv \ |
| 233 | + python3-pip" |
| 234 | +ARG INSTALL_PACKAGES="-c=python -c=core -c=dev" |
| 235 | + |
| 236 | + |
| 237 | +# hadolint ignore=DL3008 |
| 238 | +RUN apt-get update && apt-get upgrade -y && \ |
| 239 | + dpkg --get-selections | grep -v deinstall | awk '{print $1}' > base_packages.txt && \ |
| 240 | + apt-get install -y --no-install-recommends ${DEPS} && \ |
| 241 | + rm -rf /var/lib/apt/lists/* |
| 242 | + |
| 243 | +RUN apt-get update && apt-get reinstall -y ca-certificates && rm -rf /var/lib/apt/lists/* && update-ca-certificates |
| 244 | + |
| 245 | +# hadolint ignore=DL3008, SC2012 |
| 246 | +RUN apt-get update && \ |
| 247 | + apt-get install -y --no-install-recommends ${LGPL_DEPS} && \ |
| 248 | + ${INTEL_OPENVINO_DIR}/install_dependencies/install_openvino_dependencies.sh -y ${INSTALL_PACKAGES} && \ |
| 249 | + if [ "$INSTALL_SOURCES" = "yes" ]; then \ |
| 250 | + sed -Ei 's/# deb-src /deb-src /' /etc/apt/sources.list && \ |
| 251 | + apt-get update && \ |
| 252 | + dpkg --get-selections | grep -v deinstall | awk '{print $1}' > all_packages.txt && \ |
| 253 | + grep -v -f base_packages.txt all_packages.txt | while read line; do \ |
| 254 | + package=$(echo $line); \ |
| 255 | + name=(${package//:/ }); \ |
| 256 | + grep -l GPL /usr/share/doc/${name[0]}/copyright; \ |
| 257 | + exit_status=$?; \ |
| 258 | + if [ $exit_status -eq 0 ]; then \ |
| 259 | + apt-get source -q --download-only $package; \ |
| 260 | + fi \ |
| 261 | + done && \ |
| 262 | + echo "Download source for $(ls | wc -l) third-party packages: $(du -sh)"; fi && \ |
| 263 | + rm /usr/lib/python3.*/lib-dynload/readline.cpython-3*-gnu.so && rm -rf /var/lib/apt/lists/* |
| 264 | + |
| 265 | +WORKDIR ${INTEL_OPENVINO_DIR}/licensing |
| 266 | +RUN if [ "$INSTALL_SOURCES" = "no" ]; then \ |
| 267 | + echo "This image doesn't contain source for 3d party components under LGPL/GPL licenses. They are stored in https://storage.openvinotoolkit.org/repositories/openvino/ci_dependencies/container_gpl_sources/." > DockerImage_readme.txt ; \ |
| 268 | + fi |
| 269 | + |
| 270 | + |
| 271 | +ENV HDDL_INSTALL_DIR=/opt/intel/openvino/runtime/3rdparty/hddl |
| 272 | +ENV InferenceEngine_DIR=/opt/intel/openvino/runtime/cmake |
| 273 | +ENV LD_LIBRARY_PATH=/opt/intel/openvino/runtime/3rdparty/hddl/lib:/opt/intel/openvino/runtime/3rdparty/tbb/lib:/opt/intel/openvino/runtime/lib/intel64:/opt/intel/openvino/tools/compile_tool:/opt/intel/openvino/extras/opencv/lib |
| 274 | +ENV OpenCV_DIR=/opt/intel/openvino/extras/opencv/cmake |
| 275 | +ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| 276 | +ENV PYTHONPATH=/opt/intel/openvino/python:/opt/intel/openvino/python/python3:/opt/intel/openvino/extras/opencv/python |
| 277 | +ENV TBB_DIR=/opt/intel/openvino/runtime/3rdparty/tbb/cmake |
| 278 | +ENV ngraph_DIR=/opt/intel/openvino/runtime/cmake |
| 279 | +ENV OpenVINO_DIR=/opt/intel/openvino/runtime/cmake |
| 280 | +ENV INTEL_OPENVINO_DIR=/opt/intel/openvino |
| 281 | +ENV OV_TOKENIZER_PREBUILD_EXTENSION_PATH=/opt/intel/openvino/runtime/lib/intel64/libopenvino_tokenizers.so |
| 282 | +ENV PKG_CONFIG_PATH=/opt/intel/openvino/runtime/lib/intel64/pkgconfig |
| 283 | + |
| 284 | +# setup Python |
| 285 | +ENV VIRTUAL_ENV=/opt/venv |
| 286 | +RUN python3.9 -m venv $VIRTUAL_ENV |
| 287 | +ENV PATH=$VIRTUAL_ENV/bin:$PATH |
| 288 | +# hadolint ignore=DL3013 |
| 289 | +RUN python3 -m pip install --no-cache-dir --upgrade pip setuptools |
| 290 | + |
| 291 | +# dev package |
| 292 | +WORKDIR ${INTEL_OPENVINO_DIR} |
| 293 | +ARG OPENVINO_WHEELS_VERSION=2025.0.0 |
| 294 | +ARG OPENVINO_WHEELS_URL |
| 295 | +# hadolint ignore=SC2102 |
| 296 | +RUN apt-get update && apt-get install -y --no-install-recommends cmake make git && rm -rf /var/lib/apt/lists/* && \ |
| 297 | + if [ -z "$OPENVINO_WHEELS_URL" ]; then \ |
| 298 | + python3 -m pip install --no-cache-dir openvino=="${OPENVINO_WHEELS_VERSION}" && \ |
| 299 | + python3 -m pip install --no-cache-dir openvino-tokenizers=="${OPENVINO_WHEELS_VERSION}" && \ |
| 300 | + python3 -m pip install --no-cache-dir openvino-genai=="${OPENVINO_WHEELS_VERSION}" && \ |
| 301 | + python3 -m pip install --no-cache-dir openvino_dev[caffe,kaldi,mxnet,onnx,pytorch,tensorflow2]=="${OPENVINO_WHEELS_VERSION}" --extra-index-url https://download.pytorch.org/whl/cpu; \ |
| 302 | + else \ |
| 303 | + python3 -m pip install --no-cache-dir --pre openvino=="${OPENVINO_WHEELS_VERSION}" --trusted-host=* --find-links "$OPENVINO_WHEELS_URL" && \ |
| 304 | + python3 -m pip install --no-cache-dir --pre openvino-tokenizers=="${OPENVINO_WHEELS_VERSION}" --trusted-host=* --find-links "$OPENVINO_WHEELS_URL" && \ |
| 305 | + python3 -m pip install --no-cache-dir --pre openvino-genai=="${OPENVINO_WHEELS_VERSION}" --trusted-host=* --find-links "$OPENVINO_WHEELS_URL" && \ |
| 306 | + python3 -m pip install --no-cache-dir --pre openvino_dev[caffe,kaldi,mxnet,onnx,pytorch,tensorflow2]=="${OPENVINO_WHEELS_VERSION}" --trusted-host=* --find-links "$OPENVINO_WHEELS_URL" --extra-index-url https://download.pytorch.org/whl/cpu; \ |
| 307 | + fi |
| 308 | + |
| 309 | +WORKDIR ${INTEL_OPENVINO_DIR}/licensing |
| 310 | +# Please use `third-party-programs-docker-dev.txt` short path to 3d party file if you use the Dockerfile directly from docker_ci/dockerfiles repo folder |
| 311 | +COPY dockerfiles/ubuntu20/third-party-programs-docker-dev.txt ${INTEL_OPENVINO_DIR}/licensing |
| 312 | +COPY dockerfiles/ubuntu20/third-party-programs-docker-runtime.txt ${INTEL_OPENVINO_DIR}/licensing |
| 313 | + |
| 314 | +COPY --from=opencv /opt/repo/opencv/build/install ${INTEL_OPENVINO_DIR}/extras/opencv |
| 315 | +RUN echo "export OpenCV_DIR=${INTEL_OPENVINO_DIR}/extras/opencv/cmake" | tee -a "${INTEL_OPENVINO_DIR}/extras/opencv/setupvars.sh"; \ |
| 316 | + echo "export LD_LIBRARY_PATH=${INTEL_OPENVINO_DIR}/extras/opencv/lib:\$LD_LIBRARY_PATH" | tee -a "${INTEL_OPENVINO_DIR}/extras/opencv/setupvars.sh" |
| 317 | + |
| 318 | +# Install dependencies for OV::RemoteTensor |
| 319 | +RUN apt-get update && apt-get install -y --no-install-recommends opencl-headers ocl-icd-opencl-dev && rm -rf /var/lib/apt/lists/* && rm -rf /tmp/* |
| 320 | + |
| 321 | +# build samples into ${INTEL_OPENVINO_DIR}/samples/cpp/samples_bin |
| 322 | +WORKDIR ${INTEL_OPENVINO_DIR}/samples/cpp |
| 323 | +RUN ./build_samples.sh -b /tmp/build -i ${INTEL_OPENVINO_DIR}/samples/cpp/samples_bin && \ |
| 324 | + rm -Rf /tmp/build |
| 325 | + |
| 326 | +# add Model API package |
| 327 | +# hadolint ignore=DL3013 |
| 328 | +RUN git clone https://github.com/openvinotoolkit/open_model_zoo && \ |
| 329 | + sed -i '/opencv-python/d' open_model_zoo/demos/common/python/requirements.txt && \ |
| 330 | + python3 -m pip --no-cache-dir install open_model_zoo/demos/common/python/ && \ |
| 331 | + rm -Rf open_model_zoo && \ |
| 332 | + python3 -c "from model_zoo import model_api" |
| 333 | + |
| 334 | +# for CPU |
| 335 | + |
| 336 | +# for GPU |
| 337 | + |
| 338 | +RUN apt-get update && apt-get install -y --no-install-recommends gpg gpg-agent && \ |
| 339 | + curl https://repositories.intel.com/graphics/intel-graphics.key | gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg && \ |
| 340 | + echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu focal-legacy main' | tee /etc/apt/sources.list.d/intel.gpu.focal.list && \ |
| 341 | + apt-get update && \ |
| 342 | + apt-get install -y --no-install-recommends \ |
| 343 | + intel-opencl-icd=22.43.24595.35+i538~20.04 \ |
| 344 | + intel-level-zero-gpu=1.3.24595.35+i538~20.04 \ |
| 345 | + level-zero=1.8.8+i524~u20.04 \ |
| 346 | + ocl-icd-libopencl1 && \ |
| 347 | + apt-get purge gpg gpg-agent --yes && apt-get --yes autoremove && \ |
| 348 | + apt-get clean ; \ |
| 349 | + rm -rf /var/lib/apt/lists/* && rm -rf /tmp/* |
| 350 | + |
| 351 | + |
| 352 | +# Post-installation cleanup and setting up OpenVINO environment variables |
| 353 | +ENV LIBVA_DRIVER_NAME=iHD |
| 354 | +ENV GST_VAAPI_ALL_DRIVERS=1 |
| 355 | +ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri |
| 356 | + |
| 357 | +RUN apt-get update && \ |
| 358 | + apt-get autoremove -y gfortran && \ |
| 359 | + rm -rf /var/lib/apt/lists/* |
| 360 | + |
| 361 | +USER openvino |
| 362 | +WORKDIR ${INTEL_OPENVINO_DIR} |
| 363 | +ENV DEBIAN_FRONTEND=noninteractive |
| 364 | + |
| 365 | +CMD ["/bin/bash"] |
| 366 | + |
| 367 | +# Setup custom layers below |
0 commit comments