diff options
-rw-r--r-- | libraries/openvino/README | 3 | ||||
-rw-r--r-- | libraries/openvino/openvino.SlackBuild | 66 | ||||
-rw-r--r-- | libraries/openvino/openvino.info | 16 | ||||
-rw-r--r-- | libraries/openvino/slack-desc | 4 |
4 files changed, 67 insertions, 22 deletions
diff --git a/libraries/openvino/README b/libraries/openvino/README index 0261eda986..5370ef436e 100644 --- a/libraries/openvino/README +++ b/libraries/openvino/README @@ -1,6 +1,9 @@ OpenVINO is an open-source toolkit for optimizing and deploying AI inference. +Supported hardware: +https://docs.openvino.ai/2024/about-openvino/system-requirements.html + The dependency oneTBB needs to be compiled with its optional dependency hwloc, otherwise libtbbbind-2.5 is missing and openvino will fail to build. diff --git a/libraries/openvino/openvino.SlackBuild b/libraries/openvino/openvino.SlackBuild index fe9893193a..ab1d7f7e21 100644 --- a/libraries/openvino/openvino.SlackBuild +++ b/libraries/openvino/openvino.SlackBuild @@ -26,8 +26,11 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=openvino VERSION=${VERSION:-2024.0.0} -VERSION_PROTOBUF=3.21.12 VERSION_FLATBUFFERS=24.3.25 +VERSION_ONNX=1.16.0 +VERSION_ONEDNN_GPU=3.4.1 +COMMIT_ONEDNN=26633ae49edd4353a29b7170d9fcef6b2d79f4b3 +COMMIT_MLAS=d1bc25ec4660cddd87804fcf03b2411b5dfb2e94 BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -85,40 +88,74 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} + -# The protobuf3 version from SBo makes the build fail -( -cd thirdparty/protobuf/ -rmdir protobuf -tar vxf $CWD/protobuf-$VERSION_PROTOBUF.tar.gz -ln -s protobuf-$VERSION_PROTOBUF protobuf -) -# Flatbuffers from SBo comes without static lib +# Flatbuffers from SBo provide broken cmake files(static-lib removed but static-lib-cmake-files not removed) ( cd thirdparty/flatbuffers/ rmdir flatbuffers tar vxf $CWD/flatbuffers-$VERSION_FLATBUFFERS.tar.gz ln -s flatbuffers-$VERSION_FLATBUFFERS flatbuffers ) +# onnx frontend +( +cd thirdparty/onnx/ +rmdir onnx +tar vxf $CWD/onnx-$VERSION_ONNX.tar.gz +ln -s onnx-$VERSION_ONNX onnx +) +# mlas for cpu inference device +( +cd src/plugins/intel_cpu/thirdparty +rmdir mlas +tar vxf $CWD/mlas-$COMMIT_MLAS.tar.gz +ln -s mlas-$COMMIT_MLAS mlas +) +# oneDNN for cpu inference device, fork from openvinotoolkit needed +# oneDNN supports 64 bit platforms only +if [ "$LIBDIRSUFFIX" == 64 ]; then + CPU=ON + GPU=ON + ( + cd src/plugins/intel_cpu/thirdparty + rmdir onednn + tar vxf $CWD/oneDNN-$COMMIT_ONEDNN.tar.gz + ln -s oneDNN-$COMMIT_ONEDNN onednn + ) + # oneDNN for gpu inference device, original project + ( + cd src/plugins/intel_gpu/thirdparty + rmdir onednn_gpu + tar vxf $CWD/oneDNN-$VERSION_ONEDNN_GPU.tar.gz + ln -s oneDNN-$VERSION_ONEDNN_GPU onednn_gpu + ) +else + CPU=OFF + GPU=OFF +fi +#-DENABLE_TBBBIND_2_5=OFF prevents using static prebuild libtbbbind +# https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/cmake_options_for_custom_compilation.md mkdir -p build cd build unshare -n cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_STANDARD=17 \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr/share/openvino \ -DENABLE_SYSTEM_PUGIXML=ON \ -DENABLE_SYSTEM_SNAPPY=ON \ -DENABLE_SYSTEM_OPENCL=ON \ -DENABLE_SYSTEM_TBB=ON \ - -DENABLE_SYSTEM_PROTOBUF=OFF \ + -DENABLE_TBBBIND_2_5=OFF \ + -DENABLE_SYSTEM_PROTOBUF=ON \ + -DProtobuf_LIBRARY=/usr/lib$LIBDIRSUFFIX/libprotobuf.so \ -DENABLE_SYSTEM_OPENCL=ON \ + -DOpenCV_DIR=/usr/lib64/cmake/opencv4 \ -DENABLE_JS=OFF \ - -DENABLE_SSE42=OFF \ -DENABLE_SAMPLES=OFF \ - -DENABLE_INTEL_CPU=OFF \ - -DENABLE_INTEL_GPU=OFF \ - -DENABLE_OV_ONNX_FRONTEND=OFF \ + -DENABLE_INTEL_CPU=$CPU \ + -DENABLE_INTEL_GPU=$GPU \ + -DENABLE_OV_ONNX_FRONTEND=ON \ -Wno-dev \ -DCMAKE_BUILD_TYPE=Release .. cmake --build . @@ -128,7 +165,6 @@ cd .. rmdir $PKG/usr/share/openvino/samples/cpp/thirdparty/gflags/gflags rmdir $PKG/usr/share/openvino/samples/cpp/thirdparty/nlohmann_json - mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild diff --git a/libraries/openvino/openvino.info b/libraries/openvino/openvino.info index 712cb0ba7d..74353abc35 100644 --- a/libraries/openvino/openvino.info +++ b/libraries/openvino/openvino.info @@ -2,13 +2,19 @@ PRGNAM="openvino" VERSION="2024.0.0" HOMEPAGE="https://github.com/openvinotoolkit/openvino/" DOWNLOAD="https://github.com/openvinotoolkit/openvino/archive/2024.0.0/openvino-2024.0.0.tar.gz \ - https://github.com/protocolbuffers/protobuf/archive/v3.21.12/protobuf-3.21.12.tar.gz \ - https://github.com/google/flatbuffers/archive/v24.3.25/flatbuffers-24.3.25.tar.gz" + https://github.com/openvinotoolkit/mlas/archive/d1bc25e/mlas-d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz \ + https://github.com/openvinotoolkit/onednn/archive/26633ae/oneDNN-26633ae49edd4353a29b7170d9fcef6b2d79f4b3.tar.gz \ + https://github.com/oneapi-src/oneDNN/archive/v3.4.1/oneDNN-3.4.1.tar.gz \ + https://github.com/google/flatbuffers/archive/v24.3.25/flatbuffers-24.3.25.tar.gz \ + https://github.com/onnx/onnx/archive/v1.16.0/onnx-1.16.0.tar.gz" MD5SUM="5fec9788393e2f48033e6acf839ee11f \ - d38562490234d8080bdbe8eb7baf937a \ - f28f12fc16c72f4e7c22066a35405c3a" + 0e87473410db355fd9251a2e1337dc32 \ + 2cbdb4f80608959b3c013bab745bb807 \ + 8e355bb8b51db1e80e9a93953355f1a9 \ + f28f12fc16c72f4e7c22066a35405c3a \ + 5ef5a7bd4f9dad914bddc3b4335a67cd" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="oneTBB xbyak pugixml snappy pybind11" +REQUIRES="protobuf3 oneTBB xbyak pugixml snappy pybind11 OpenCL-CLHPP" MAINTAINER="Johannes Schoepfer" EMAIL="slackbuilds@schoepfer.info" diff --git a/libraries/openvino/slack-desc b/libraries/openvino/slack-desc index b4647f49b8..d5180cdf26 100644 --- a/libraries/openvino/slack-desc +++ b/libraries/openvino/slack-desc @@ -11,8 +11,8 @@ openvino: openvino: OpenVINO is an open-source toolkit for optimizing and deploying AI openvino: inference. openvino: -openvino: -openvino: +openvino: Supported hardware: +openvino: https://docs.openvino.ai/2024/about-openvino/system-requirements.html openvino: openvino: openvino: https://github.com/openvinotoolkit/openvino/ |