summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Johannes Schoepfer <slackbuilds@schoepfer.info>2024-04-24 21:28:42 +0900
committer Willy Sudiarto Raharjo <willysr@slackbuilds.org>2024-04-27 09:28:30 +0700
commitddd49712ff25c9ef6b952f80e8656fecb3074a8d (patch)
treee20c408db36e239df062bc5e6f11240207daf1a6
parentba18653426fda470f19fc5e321cec36d5839eb08 (diff)
downloadslackbuilds-ddd49712ff25c9ef6b952f80e8656fecb3074a8d.tar.gz
slackbuilds-ddd49712ff25c9ef6b952f80e8656fecb3074a8d.tar.xz
libraries/openvino: Fix 32bit build.
Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--libraries/openvino/README3
-rw-r--r--libraries/openvino/openvino.SlackBuild66
-rw-r--r--libraries/openvino/openvino.info16
-rw-r--r--libraries/openvino/slack-desc4
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/