mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
* Changes to ensure openvino build go through in Windows * Modified Hetero plugin Logic *Modified Hetero Feature logic. In Hetero, if the operator to be marked true in getcapability(), it should be supported by either of the devices specified with HETERO in the device_type. Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com> * OV updated to 2021.4.2 version * OV updated to 2021.4.2 version * Updated OV to 2021.4.2 version, mono download link and dotnet version * Copying Managed nugets in openvino c# docker file *Copying Managed nuget to nugets artifacts directory Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com> Co-authored-by: saharfraza <sfatima.3001@gmail.com> Co-authored-by: mayavijx <mayax.vijayan@intel.com> Co-authored-by: Aravind Gunda <aravindx.gunda@intel.com>
105 lines
No EOL
6.4 KiB
Text
Executable file
105 lines
No EOL
6.4 KiB
Text
Executable file
#-------------------------------------------------------------------------
|
|
# Copyright(C) 2021 Intel Corporation.
|
|
# SPDX-License-Identifier: MIT
|
|
#--------------------------------------------------------------------------
|
|
|
|
FROM centos:7.8.2003
|
|
|
|
WORKDIR /code
|
|
|
|
ARG MY_ROOT=/code
|
|
ARG YUM_OV_PACKAGE=intel-openvino-runtime-centos7-2021.4.752.x86_64
|
|
ARG DEVICE=CPU_FP32
|
|
ARG ONNXRUNTIME_REPO=https://github.com/microsoft/onnxruntime
|
|
ARG ONNXRUNTIME_BRANCH=master
|
|
|
|
ENV INTEL_OPENVINO_DIR=/opt/intel/openvino_2021.4.752
|
|
ENV InferenceEngine_DIR=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/share
|
|
ENV IE_PLUGINS_PATH=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/lib/intel64
|
|
ENV ngraph_DIR=${INTEL_OPENVINO_DIR}/deployment_tools/ngraph/cmake
|
|
ENV LD_LIBRARY_PATH=/opt/intel/opencl:${INTEL_OPENVINO_DIR}/inference_engine/external/gna/lib:${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/mkltiny_lnx/lib:$INTEL_OPENVINO_DIR/deployment_tools/ngraph/lib:${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/omp/lib:${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/tbb/lib:${IE_PLUGINS_PATH}:${LD_LIBRARY_PATH}
|
|
ENV OpenCV_DIR=${INTEL_OPENVINO_DIR}/opencv/share/OpenCV
|
|
ENV LD_LIBRARY_PATH=${INTEL_OPENVINO_DIR}/opencv/lib:${INTEL_OPENVINO_DIR}/opencv/share/OpenCV/3rdparty/lib:${LD_LIBRARY_PATH}
|
|
ENV HDDL_INSTALL_DIR=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/hddl
|
|
ENV LD_LIBRARY_PATH=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/hddl/lib:$LD_LIBRARY_PATH
|
|
ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64:/lib64:$LD_LIBRARY_PATH
|
|
|
|
# Install packages
|
|
RUN yum update -y && \
|
|
yum groupinstall "Development Tools" -y && \
|
|
yum install -y yum-utils autoconf automake libtool unzip udev wget zlib-devel libffi-devel openssl-devel boost-devel-1.53.0 && \
|
|
yum clean packages && yum clean all && rm -rf /var/cache/yum && \
|
|
# Install cmake
|
|
cd $MY_ROOT && \
|
|
wget https://github.com/Kitware/CMake/releases/download/v3.18.6/cmake-3.18.6.tar.gz && \
|
|
tar -zxvf cmake-3.18.6.tar.gz && rm -rf cmake-3.18.6.tar.gz && \
|
|
cd cmake-3.18.6 && \
|
|
./bootstrap && \
|
|
make && \
|
|
make install && \
|
|
cd $MY_ROOT && \
|
|
# libusb1.0.22
|
|
cd /opt/ && wget https://github.com/libusb/libusb/archive/v1.0.22.zip && \
|
|
unzip v1.0.22.zip && rm -rf v1.0.22.zip && cd /opt/libusb-1.0.22 && \
|
|
# bootstrap steps
|
|
./bootstrap.sh && \
|
|
./configure --disable-udev --enable-shared && \
|
|
make -j4 && \
|
|
# configure libusb1.0.22
|
|
cd /opt/libusb-1.0.22/libusb && \
|
|
/bin/mkdir -p '/usr/local/lib' && \
|
|
/bin/bash ../libtool --mode=install /usr/bin/install -c libusb-1.0.la '/usr/local/lib' && \
|
|
/bin/mkdir -p '/usr/local/include/libusb-1.0' && \
|
|
/usr/bin/install -c -m 644 libusb.h '/usr/local/include/libusb-1.0' && \
|
|
/bin/mkdir -p '/usr/local/lib/pkgconfig' && \
|
|
# Install openvino
|
|
yum-config-manager --add-repo https://yum.repos.intel.com/openvino/2021/setup/intel-openvino-2021.repo && \
|
|
rpm --import https://yum.repos.intel.com/openvino/2021/setup/RPM-GPG-KEY-INTEL-OPENVINO-2021 && \
|
|
yum update -y && yum list intel-openvino* && \
|
|
yum install -y $YUM_OV_PACKAGE && \
|
|
cd ${INTEL_OPENVINO_DIR}/install_dependencies/ && ./install_openvino_dependencies.sh -y && \
|
|
printf "\nexport LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/usr/local/lib\n" >> /opt/intel/openvino_2021.4.752/bin/setupvars.sh && \
|
|
cd /opt/libusb-1.0.22 && \
|
|
/usr/bin/install -c -m 644 libusb-1.0.pc '/usr/local/lib/pkgconfig' && \
|
|
cp /opt/intel/openvino_2021/deployment_tools/inference_engine/external/97-myriad-usbboot.rules /etc/udev/rules.d/ && \
|
|
ldconfig && \
|
|
# Install GPU runtime and drivers
|
|
cd ${MY_ROOT} && \
|
|
mkdir /tmp/opencl && \
|
|
cd /tmp/opencl && \
|
|
yum install -y epel-release && \
|
|
yum install -y ocl-icd ocl-icd-devel && \
|
|
wget -O intel-igc-core-1.0.2597-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-igc-core-1.0.2597-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-opencl-19.41.14441-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-opencl-19.41.14441-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-igc-opencl-devel-1.0.2597-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-igc-opencl-devel-1.0.2597-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-igc-opencl-1.0.2597-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-igc-opencl-1.0.2597-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-gmmlib-19.3.2-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-gmmlib-19.3.2-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-gmmlib-devel-19.3.2-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-gmmlib-devel-19.3.2-1.el7.x86_64.rpm/download && \
|
|
rpm -i /tmp/opencl/*.rpm && \
|
|
ldconfig && \
|
|
rm -rf /tmp/opencl && \
|
|
# Installing gcc-10
|
|
yum install -y centos-release-scl && \
|
|
yum install -y devtoolset-10-gcc* && \
|
|
echo 'source scl_source enable devtoolset-10' >> ~/.bashrc && \
|
|
# python installation
|
|
source scl_source enable devtoolset-10 && \
|
|
cd /code/ && \
|
|
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz && tar xvf Python-3.8.3.tgz && \
|
|
cd Python-3.8*/ && ./configure && make && make install && \
|
|
cd ../ && mkdir -p /usr/bin/Python38 && ln -s Python-3.8.3/ /usr/bin/Python38 && \
|
|
# installing dependancies
|
|
yum install -y python3-lxml python3-six libusb.x86_64 && \
|
|
yum clean packages && yum clean all && rm -rf /var/cache/yum && \
|
|
# Build onnxruntime
|
|
cd $MY_ROOT && \
|
|
pip3 install numpy wheel setuptools cython && \
|
|
git clone --recursive -b ${ONNXRUNTIME_BRANCH} ${ONNXRUNTIME_REPO} && \
|
|
pip3 install onnx && \
|
|
cd /code/onnxruntime && ./build.sh --config Release --update --build --parallel --use_openvino ${DEVICE} --build_shared_lib --build_wheel && \
|
|
pip3 install /code/onnxruntime/build/Linux/Release/dist/*-linux_x86_64.whl && \
|
|
# Clean up
|
|
cd $MY_ROOT && rm -rf onnxruntime Python-3* && \
|
|
cd ${MY_ROOT}/ && rm -rf cmake* && \
|
|
cd /usr/share/ && rm -rf gcc* && cd /usr/lib/ && rm -rf gcc cd && rm -rf .cache && \
|
|
cd ${INTEL_OPENVINO_DIR}/ && rm -rf documentation data_processing && cd deployment_tools/ && rm -rf tools |