diff options
Diffstat (limited to 'dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2020.4.bb')
-rw-r--r-- | dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2020.4.bb | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2020.4.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2020.4.bb new file mode 100644 index 00000000..c2863e65 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2020.4.bb | |||
@@ -0,0 +1,124 @@ | |||
1 | SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit" | ||
2 | HOMEPAGE = "https://github.com/opencv/dldt" | ||
3 | DESCRIPTION = "This toolkit allows developers to deploy pre-trained \ | ||
4 | deep learning models through a high-level C++ Inference Engine API \ | ||
5 | integrated with application logic." | ||
6 | |||
7 | SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=git;branch=releases/2020/4;lfs=0 \ | ||
8 | https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/usb-ma2450/firmware_usb-ma2450_1223.zip;name=ma2450 \ | ||
9 | https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/pcie-ma248x/firmware_pcie-ma248x_1223.zip;name=ma248x \ | ||
10 | https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/usb-ma2x8x/firmware_usb-ma2x8x_1223.zip;name=ma2x8x \ | ||
11 | git://github.com/openvinotoolkit/oneDNN.git;protocol=https;destsuffix=git/inference-engine/thirdparty/mkl-dnn;name=mkl;nobranch=1 \ | ||
12 | file://0001-inference-engine-use-system-installed-packages.patch \ | ||
13 | file://0002-cldNN-disable-Werror.patch \ | ||
14 | file://0003-inference-engine-installation-fixes.patch \ | ||
15 | file://0004-fix-compilation-errors.patch \ | ||
16 | file://0005-cldnn-fix-inclusion-of-headers.patch \ | ||
17 | file://0001-dont-install-licenses-and-version-file.patch;patchdir=ngraph \ | ||
18 | " | ||
19 | |||
20 | SRCREV = "023e7c2c3f8a8ac83564db09799d2049115d9cf6" | ||
21 | SRCREV_mkl = "2706f56ebab54415be48add2751072065f4b52ab" | ||
22 | |||
23 | SRC_URI[ma2450.sha256sum] = "4dc246bd12d7a21c1b10ac3e090b30043777c4ea862e1e4119536ba03c5878ef" | ||
24 | SRC_URI[ma248x.sha256sum] = "64dd77ecd2f7172421414a388a87be4e6271894a982a58b3829f9de1a1869abd" | ||
25 | SRC_URI[ma2x8x.sha256sum] = "d1d209221c1389a9a04e14ffeeaff1c3308f6ab105c7bd22f0e300df01cce4d8" | ||
26 | |||
27 | LICENSE = "Apache-2.0 & ISSL & MIT" | ||
28 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ | ||
29 | file://inference-engine/thirdparty/mkl-dnn/LICENSE;md5=afa44a3d001cc203032135324f9636b7 \ | ||
30 | file://inference-engine/thirdparty/mkl-dnn/src/cpu/xbyak/COPYRIGHT;md5=03532861dad9003cc2c17f14fc7a4efa \ | ||
31 | file://inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/LICENSE.txt;md5=88b295a48d2b3244ba65d3c055472c8a \ | ||
32 | " | ||
33 | LICENSE_${PN}-vpu-firmware = "ISSL" | ||
34 | |||
35 | inherit cmake python3native | ||
36 | |||
37 | S = "${WORKDIR}/git" | ||
38 | |||
39 | EXTRA_OECMAKE += " \ | ||
40 | -DENABLE_OPENCV=0 \ | ||
41 | -DENABLE_PLUGIN_RPATH=0 \ | ||
42 | -DENABLE_GNA=0 \ | ||
43 | -DPYTHON_EXECUTABLE=${PYTHON} \ | ||
44 | -DCMAKE_BUILD_TYPE=RelWithDebInfo \ | ||
45 | -DTHREADING=TBB -DTBB_DIR=${STAGING_LIBDIR} \ | ||
46 | -DENABLE_SAMPLES=1 \ | ||
47 | -DIE_CPACK_IE_DIR=${prefix} \ | ||
48 | -DNGRAPH_UNIT_TEST_ENABLE=FALSE \ | ||
49 | -DNGRAPH_TEST_UTIL_ENABLE=FALSE \ | ||
50 | -DNGRAPH_ONNX_IMPORT_ENABLE=OFF \ | ||
51 | -DNGRAPH_JSON_ENABLE=FALSE \ | ||
52 | -DTREAT_WARNING_AS_ERROR=FALSE \ | ||
53 | -DENABLE_SPEECH_DEMO=FALSE \ | ||
54 | -DENABLE_DATA=FALSE \ | ||
55 | " | ||
56 | |||
57 | DEPENDS += "libusb1 \ | ||
58 | ade \ | ||
59 | opencv \ | ||
60 | pugixml \ | ||
61 | protobuf-native \ | ||
62 | tbb \ | ||
63 | onednn \ | ||
64 | " | ||
65 | |||
66 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
67 | COMPATIBLE_HOST_libc-musl = "null" | ||
68 | |||
69 | PACKAGECONFIG ?= "vpu" | ||
70 | PACKAGECONFIG[opencl] = "-DENABLE_CLDNN=1 -DCLDNN__IOCL_ICD_INCDIRS=${STAGING_INCDIR} -DCLDNN__IOCL_ICD_STLDIRS=${STAGING_LIBDIR} -DCLDNN__IOCL_ICD_SHLDIRS=${STAGING_LIBDIR}, -DENABLE_CLDNN=0, ocl-icd opencl-headers libva, intel-compute-runtime" | ||
71 | PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR}, -DENABLE_PYTHON=OFF, python3-cython-native, python3 python3-numpy python3-opencv python3-progress python3-cython" | ||
72 | PACKAGECONFIG[vpu] = "-DENABLE_VPU=ON -DVPU_FIRMWARE_USB-MA2450_FILE=../mvnc/usb-ma2450.mvcmd -DVPU_FIRMWARE_USB-MA2X8X_FILE=../mvnc/usb-ma2x8x.mvcmd -DVPU_FIRMWARE_PCIE-MA248X_FILE=../mvnc/pcie-ma248x.mvcmd,-DENABLE_VPU=OFF,,${PN}-vpu-firmware" | ||
73 | PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0" | ||
74 | |||
75 | do_install_append() { | ||
76 | if ${@bb.utils.contains('PACKAGECONFIG', 'vpu', 'true', 'false', d)}; then | ||
77 | install -m0644 ${WORKDIR}/mvnc/usb-ma2450.mvcmd ${D}${libdir}/ | ||
78 | install -m0644 ${WORKDIR}/mvnc/usb-ma2x8x.mvcmd ${D}${libdir}/ | ||
79 | install -m0644 ${WORKDIR}/mvnc/pcie-ma248x.mvcmd ${D}${libdir}/ | ||
80 | fi | ||
81 | |||
82 | if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then | ||
83 | install -d ${D}${datadir}/inference_engine | ||
84 | mv ${D}/usr/samples/python ${D}${datadir}/inference_engine/ | ||
85 | |||
86 | install -d ${D}${PYTHON_SITEPACKAGES_DIR} | ||
87 | mv ${D}${prefix}/python/${PYTHON_DIR}/openvino ${D}${PYTHON_SITEPACKAGES_DIR}/ | ||
88 | mv ${D}${prefix}/deployment_tools/tools/benchmark_tool ${D}${PYTHON_SITEPACKAGES_DIR}/openvino/ | ||
89 | |||
90 | rm -rf ${D}${prefix}/python | ||
91 | rm -rf ${D}${prefix}/deployment_tools | ||
92 | fi | ||
93 | |||
94 | # Remove the samples source directory. We install the built samples. | ||
95 | rm -rf ${D}/usr/samples | ||
96 | } | ||
97 | |||
98 | # Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR | ||
99 | # instead of RSS | ||
100 | SSTATE_SCAN_FILES_append = " *.cmake" | ||
101 | |||
102 | FILES_${PN}-dev = "${includedir} \ | ||
103 | ${libdir}/cmake \ | ||
104 | " | ||
105 | |||
106 | FILES_${PN} += "${libdir}/lib*${SOLIBSDEV} \ | ||
107 | ${datadir}/openvino \ | ||
108 | ${libdir}/custom_kernels \ | ||
109 | ${libdir}/plugins.xml \ | ||
110 | ${libdir}/cache.json \ | ||
111 | " | ||
112 | |||
113 | # Move inference engine samples into a separate package | ||
114 | PACKAGES =+ "${PN}-samples ${PN}-vpu-firmware" | ||
115 | |||
116 | FILES_${PN}-samples = "${datadir}/inference_engine \ | ||
117 | ${bindir} \ | ||
118 | " | ||
119 | FILES_${PN}-vpu-firmware += "${libdir}/*.mvcmd" | ||
120 | |||
121 | # Package for inference engine python API | ||
122 | PACKAGES =+ "${PN}-${PYTHON_PN}" | ||
123 | |||
124 | FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}/openvino" | ||