diff options
Diffstat (limited to 'dynamic-layers')
74 files changed, 2163 insertions, 2214 deletions
diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest b/dynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest new file mode 100755 index 00000000..82d4df58 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest @@ -0,0 +1,15 @@ +#!/bin/sh + +cd tests +./api-c +if [ $? -eq 0 ]; then + echo 'PASS: api-c' +else + echo 'FAIL: api-c' +fi +./test_c_symbols-c +if [ $? -eq 0 ]; then + echo 'PASS: test_c_symbols-c' +else + echo 'FAIL: test_c_symbols-c' +fi diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.3.bb b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.3.bb new file mode 100644 index 00000000..4677cffc --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.3.bb @@ -0,0 +1,57 @@ +HOMEPAGE = "https://www.oneapi.com" +SUMMARY = "Deep Neural Network Library" +DESCRIPTION = "This software is a user mode library that accelerates\ +deep-learning applications and frameworks on Intel architecture." +LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \ + file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ + file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \ + file://src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \ + " +SECTION = "lib" + +inherit pkgconfig cmake ptest + +DNN_BRANCH = "rls-v${@'.'.join(d.getVar('PV').split('.')[0:2])}" + +S = "${WORKDIR}/git" +SRCREV = "8a037f772264108cca48f5244b4539ad5359ff7c" +SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \ + file://run-ptest \ + " + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" + +CVE_PRODUCT = "intel:math_kernel_library" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = 'null' + +EXTRA_OECMAKE += " \ + -DDNNL_LIBRARY_TYPE=SHARED \ + -DDNNL_BUILD_EXAMPLES=ON \ + -DDNNL_BUILD_TESTS=ON \ + -DDNNL_CPU_RUNTIME=OMP \ + -DDNNL_ARCH_OPT_FLAGS="" \ + -DCMAKE_SKIP_RPATH=ON \ + -DONEDNN_BUILD_GRAPH=OFF \ + " + +PACKAGECONFIG ??= "gpu" +PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers virtual/opencl-icd, intel-compute-runtime" + +do_install:append () { + install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs + install -m 0755 ${B}/tests/benchdnn/benchdnn ${D}${bindir}/mkl-dnn/tests/benchdnn + cp -r ${B}/tests/benchdnn/inputs/* ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs +} + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/tests/api-c ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/tests/test_c_symbols-c ${D}${PTEST_PATH}/tests +} + +PACKAGES =+ "${PN}-test" + +FILES:${PN}-test = "${bindir}/mkl-dnn/*" diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/clang_%.bbappend b/dynamic-layers/clang-layer/recipes-devtools/clang/clang_%.bbappend deleted file mode 100644 index 50536c38..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/clang_%.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:" - -LIBCPLUSPLUS_intel-x86-common = "" - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch deleted file mode 100644 index da2475f9..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 559fb8f82295ec4dc64a132b6566939b85c1b6fe Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Thu, 15 Aug 2019 22:34:31 +0800 -Subject: [PATCH] dont export targets for binaries - -The projects using LLVM cmake modules look for target binaries in -sysroot as a result which isn't desirable in this case and isn't needed -either. - -Upstream-Status: Inappropriate [cross-compile specific] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - llvm/cmake/modules/AddLLVM.cmake | 9 --------- - llvm/cmake/modules/TableGen.cmake | 6 ------ - 2 files changed, 15 deletions(-) - -diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake -index 619e986b8aa..d2bc1a25dd9 100644 ---- a/llvm/cmake/modules/AddLLVM.cmake -+++ b/llvm/cmake/modules/AddLLVM.cmake -@@ -898,12 +898,6 @@ macro(add_llvm_tool name) - - if ( ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - if( LLVM_BUILD_TOOLS ) -- set(export_to_llvmexports) -- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR -- NOT LLVM_DISTRIBUTION_COMPONENTS) -- set(export_to_llvmexports EXPORT LLVMExports) -- set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True) -- endif() - - install(TARGETS ${name} - ${export_to_llvmexports} -@@ -917,9 +911,6 @@ macro(add_llvm_tool name) - endif() - endif() - endif() -- if( LLVM_BUILD_TOOLS ) -- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) -- endif() - set_target_properties(${name} PROPERTIES FOLDER "Tools") - endmacro(add_llvm_tool name) - -diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake -index 36c026b5c0f..537acd696d8 100644 ---- a/llvm/cmake/modules/TableGen.cmake -+++ b/llvm/cmake/modules/TableGen.cmake -@@ -148,15 +148,9 @@ macro(add_tablegen target project) - endif() - - if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) -- set(export_to_llvmexports) -- if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR -- NOT LLVM_DISTRIBUTION_COMPONENTS) -- set(export_to_llvmexports EXPORT LLVMExports) -- endif() - - install(TARGETS ${target} - ${export_to_llvmexports} - RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}) - endif() -- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${target}) - endmacro() --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-skip-building-tests.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-skip-building-tests.patch deleted file mode 100644 index 9a7b8445..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-skip-building-tests.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 48e50f06b1bbed94cdf5207587161d4bfce7366e Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 21 Aug 2019 14:35:31 +0800 -Subject: [PATCH] llvm-spirv: skip building tests - -Some of these need clang to be built and since we're building this in-tree, -that leads to problems when compiling libcxx, compiler-rt which aren't built -in-tree. - -Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to -all components, disable the building of tests altogether. - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - CMakeLists.txt | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1208741..20ca3e6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -15,13 +15,6 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - set(CMAKE_CXX_STANDARD 11) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - -- if(LLVM_INCLUDE_TESTS) -- set(LLVM_TEST_COMPONENTS -- llvm-as -- llvm-dis -- ) -- endif(LLVM_INCLUDE_TESTS) -- - find_package(LLVM 9.0.0 REQUIRED - COMPONENTS - Analysis -@@ -56,9 +49,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) - - add_subdirectory(lib/SPIRV) - add_subdirectory(tools/llvm-spirv) --if(LLVM_INCLUDE_TESTS) -- add_subdirectory(test) --endif(LLVM_INCLUDE_TESTS) - - install( - FILES --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch deleted file mode 100644 index cd519971..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch +++ /dev/null @@ -1,111 +0,0 @@ -From eeb816d95f0910bd246e37bb2bb3923acf0edf6b Mon Sep 17 00:00:00 2001 -From: Aleksander Us <aleksander.us@intel.com> -Date: Mon, 26 Aug 2019 15:47:41 +0300 -Subject: [PATCH] [BasicBlockUtils] Add metadata fixing in - SplitBlockPredecessors. - -In case when BB is header of some loop and predecessor is latch of -this loop, metadata was not attached to newly created basic block. -This led to loss of loop metadata for other passes. - -Upstream-Status: Submitted [https://reviews.llvm.org/D66892] - -https://github.com/intel/llvm-patches/commit/8af4449e2d201707f7f2f832b473a0439e255f32 - -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - lib/Transforms/Utils/BasicBlockUtils.cpp | 23 ++++++++---- - test/Transforms/LoopSimplify/loop_metadata.ll | 36 +++++++++++++++++++ - 2 files changed, 52 insertions(+), 7 deletions(-) - create mode 100644 test/Transforms/LoopSimplify/loop_metadata.ll - -diff --git a/lib/Transforms/Utils/BasicBlockUtils.cpp b/lib/Transforms/Utils/BasicBlockUtils.cpp -index 5fa371377c8..3a90ae061fb 100644 ---- a/lib/Transforms/Utils/BasicBlockUtils.cpp -+++ b/lib/Transforms/Utils/BasicBlockUtils.cpp -@@ -579,24 +579,33 @@ BasicBlock *llvm::SplitBlockPredecessors(BasicBlock *BB, - - // The new block unconditionally branches to the old block. - BranchInst *BI = BranchInst::Create(BB, NewBB); -+ bool IsBBHeader = LI && LI->isLoopHeader(BB); -+ Loop *BBLoop = LI ? LI->getLoopFor(BB) : nullptr; - // Splitting the predecessors of a loop header creates a preheader block. -- if (LI && LI->isLoopHeader(BB)) -+ if (IsBBHeader) - // Using the loop start line number prevents debuggers stepping into the - // loop body for this instruction. -- BI->setDebugLoc(LI->getLoopFor(BB)->getStartLoc()); -+ BI->setDebugLoc(BBLoop->getStartLoc()); - else - BI->setDebugLoc(BB->getFirstNonPHIOrDbg()->getDebugLoc()); - - // Move the edges from Preds to point to NewBB instead of BB. -- for (unsigned i = 0, e = Preds.size(); i != e; ++i) { -+ for (BasicBlock *Pred : Preds) { -+ Instruction *PI = Pred->getTerminator(); - // This is slightly more strict than necessary; the minimum requirement - // is that there be no more than one indirectbr branching to BB. And - // all BlockAddress uses would need to be updated. -- assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) && -+ assert(!isa<IndirectBrInst>(PI) && - "Cannot split an edge from an IndirectBrInst"); -- assert(!isa<CallBrInst>(Preds[i]->getTerminator()) && -- "Cannot split an edge from a CallBrInst"); -- Preds[i]->getTerminator()->replaceUsesOfWith(BB, NewBB); -+ assert(!isa<CallBrInst>(PI) && "Cannot split an edge from a CallBrInst"); -+ if (IsBBHeader && BBLoop->contains(Pred) && BBLoop->isLoopLatch(Pred)) { -+ // Update loop metadata if it exists. -+ if (MDNode *LoopMD = PI->getMetadata(LLVMContext::MD_loop)) { -+ BI->setMetadata(LLVMContext::MD_loop, LoopMD); -+ PI->setMetadata(LLVMContext::MD_loop, nullptr); -+ } -+ } -+ PI->replaceUsesOfWith(BB, NewBB); - } - - // Insert a new PHI node into NewBB for every PHI node in BB and that new PHI -diff --git a/test/Transforms/LoopSimplify/loop_metadata.ll b/test/Transforms/LoopSimplify/loop_metadata.ll -new file mode 100644 -index 00000000000..c15c92fe3ae ---- /dev/null -+++ b/test/Transforms/LoopSimplify/loop_metadata.ll -@@ -0,0 +1,36 @@ -+; RUN: opt -S -loop-simplify < %s | FileCheck %s -+ -+; CHECK: for.cond.loopexit: -+; CHECK: br label %for.cond, !llvm.loop !0 -+; CHECK: br i1 %cmp1, label %for.body1, label %for.cond.loopexit -+ -+define void @foo() { -+entry: -+ br label %for.cond -+ -+for.cond: ; preds = %for.cond1, %entry -+ %j = phi i32 [ 0, %entry ], [ %add, %for.cond1 ] -+ %cmp = icmp ult i32 %j, 8 -+ br i1 %cmp, label %for.body, label %for.end -+ -+for.body: ; preds = %for.cond -+ %dummy1 = add i32 1, 1 -+ %add = add nuw nsw i32 %j, 1 -+ br label %for.cond1 -+ -+for.cond1: ; preds = %for.body1, %for.body -+ %i.0 = phi i32 [ 1, %for.body ], [ %inc, %for.body1 ] -+ %cmp1 = icmp ult i32 %i.0, 8 -+ br i1 %cmp1, label %for.body1, label %for.cond, !llvm.loop !0 -+ -+for.body1: ; preds = %for.cond1 -+ %dummy2 = add i32 1, 1 -+ %inc = add nuw nsw i32 %i.0, 1 -+ br label %for.cond1 -+ -+for.end: ; preds = %for.cond -+ ret void -+} -+ -+!0 = distinct !{!0, !1} -+!1 = !{!"llvm.loop.unroll.full"} --- -2.18.0 - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch deleted file mode 100644 index 48307deb..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 35e218a886f4c066eabd18685240d55270bd5a6d Mon Sep 17 00:00:00 2001 -From: Aleksander Us <aleksander.us@intel.com> -Date: Mon, 26 Aug 2019 15:45:47 +0300 -Subject: [PATCH] [IndVarSimplify] Do not use SCEV expander for IVCount in - LFTR when possible. - -SCEV analysis cannot properly cache instruction with poison flags -(for example, add nsw outside of loop will not be reused by expander). -This can lead to generating of additional instructions by SCEV expander. - -Example IR: - - ... - %maxval = add nuw nsw i32 %a1, %a2 - ... -for.body: - ... - %cmp22 = icmp ult i32 %ivadd, %maxval - br i1 %cmp22, label %for.body, label %for.end - ... - -SCEV expander will generate copy of %maxval in preheader but without -nuw/nsw flags. This can be avoided by explicit check that iv count -value gives the same SCEV expressions as calculated by LFTR. - -Upstream-Status: Submitted [https://reviews.llvm.org/D66890] - -https://github.com/intel/llvm-patches/commit/fd6a6c97341a56fd21bc32bc940afea751312e8f - -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - lib/Transforms/Scalar/IndVarSimplify.cpp | 12 +++++++++- - test/Transforms/IndVarSimplify/add_nsw.ll | 23 ++++++++++++++++++++ - test/Transforms/IndVarSimplify/lftr-reuse.ll | 9 +++----- - test/Transforms/IndVarSimplify/udiv.ll | 1 + - 4 files changed, 38 insertions(+), 7 deletions(-) - create mode 100644 test/Transforms/IndVarSimplify/add_nsw.ll - -diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp -index f9fc698a4a9..5e04dac8aa6 100644 ---- a/lib/Transforms/Scalar/IndVarSimplify.cpp -+++ b/lib/Transforms/Scalar/IndVarSimplify.cpp -@@ -2375,6 +2375,17 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, - if (UsePostInc) - IVLimit = SE->getAddExpr(IVLimit, SE->getOne(IVLimit->getType())); - -+ // If computed limit is equal to old limit then do not use SCEV expander -+ // because it can lost NUW/NSW flags and create extra instructions. -+ BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); -+ if (ICmpInst *Cmp = dyn_cast<ICmpInst>(BI->getOperand(0))) { -+ Value *Limit = Cmp->getOperand(0); -+ if (!L->isLoopInvariant(Limit)) -+ Limit = Cmp->getOperand(1); -+ if (SE->getSCEV(Limit) == IVLimit) -+ return Limit; -+ } -+ - // Expand the code for the iteration count. - assert(SE->isLoopInvariant(IVLimit, L) && - "Computed iteration count is not loop invariant!"); -@@ -2383,7 +2394,6 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, - // SCEV expression (IVInit) for a pointer type IV value (IndVar). - Type *LimitTy = ExitCount->getType()->isPointerTy() ? - IndVar->getType() : ExitCount->getType(); -- BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); - return Rewriter.expandCodeFor(IVLimit, LimitTy, BI); - } - } -diff --git a/test/Transforms/IndVarSimplify/add_nsw.ll b/test/Transforms/IndVarSimplify/add_nsw.ll -new file mode 100644 -index 00000000000..abd1cbb6c51 ---- /dev/null -+++ b/test/Transforms/IndVarSimplify/add_nsw.ll -@@ -0,0 +1,23 @@ -+; RUN: opt -indvars -S %s | FileCheck %s -+ -+target datalayout = "e-p:32:32-i64:64-n8:16:32" -+ -+; CHECK: for.body.preheader: -+; CHECK-NOT: add -+; CHECK: for.body: -+ -+define void @foo(i32 %a1, i32 %a2) { -+entry: -+ %maxval = add nuw nsw i32 %a1, %a2 -+ %cmp = icmp slt i32 %maxval, 1 -+ br i1 %cmp, label %for.end, label %for.body -+ -+for.body: ; preds = %entry, %for.body -+ %j.02 = phi i32 [ 0, %entry ], [ %add31, %for.body ] -+ %add31 = add nuw nsw i32 %j.02, 1 -+ %cmp22 = icmp slt i32 %add31, %maxval -+ br i1 %cmp22, label %for.body, label %for.end -+ -+for.end: ; preds = %for.body -+ ret void -+} -diff --git a/test/Transforms/IndVarSimplify/lftr-reuse.ll b/test/Transforms/IndVarSimplify/lftr-reuse.ll -index 14ae9738696..509d662b767 100644 ---- a/test/Transforms/IndVarSimplify/lftr-reuse.ll -+++ b/test/Transforms/IndVarSimplify/lftr-reuse.ll -@@ -67,11 +67,9 @@ define void @expandOuterRecurrence(i32 %arg) nounwind { - ; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 0, [[SUB1]] - ; CHECK-NEXT: br i1 [[CMP1]], label [[OUTER_PREHEADER:%.*]], label [[EXIT:%.*]] - ; CHECK: outer.preheader: --; CHECK-NEXT: [[TMP0:%.*]] = add i32 [[ARG]], -1 - ; CHECK-NEXT: br label [[OUTER:%.*]] - ; CHECK: outer: --; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i32 [ [[TMP0]], [[OUTER_PREHEADER]] ], [ [[INDVARS_IV_NEXT:%.*]], [[OUTER_INC:%.*]] ] --; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC]] ], [ 0, [[OUTER_PREHEADER]] ] -+; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC:%.*]] ], [ 0, [[OUTER_PREHEADER]] ] - ; CHECK-NEXT: [[SUB2:%.*]] = sub nsw i32 [[ARG]], [[I]] - ; CHECK-NEXT: [[SUB3:%.*]] = sub nsw i32 [[SUB2]], 1 - ; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i32 0, [[SUB3]] -@@ -81,14 +79,13 @@ define void @expandOuterRecurrence(i32 %arg) nounwind { - ; CHECK: inner: - ; CHECK-NEXT: [[J:%.*]] = phi i32 [ 0, [[INNER_PH]] ], [ [[J_INC:%.*]], [[INNER]] ] - ; CHECK-NEXT: [[J_INC]] = add nuw nsw i32 [[J]], 1 --; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[INDVARS_IV]] -+; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[SUB3]] - ; CHECK-NEXT: br i1 [[EXITCOND]], label [[INNER]], label [[OUTER_INC_LOOPEXIT:%.*]] - ; CHECK: outer.inc.loopexit: - ; CHECK-NEXT: br label [[OUTER_INC]] - ; CHECK: outer.inc: - ; CHECK-NEXT: [[I_INC]] = add nuw nsw i32 [[I]], 1 --; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add i32 [[INDVARS_IV]], -1 --; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[TMP0]] -+; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[SUB1]] - ; CHECK-NEXT: br i1 [[EXITCOND1]], label [[OUTER]], label [[EXIT_LOOPEXIT:%.*]] - ; CHECK: exit.loopexit: - ; CHECK-NEXT: br label [[EXIT]] -diff --git a/test/Transforms/IndVarSimplify/udiv.ll b/test/Transforms/IndVarSimplify/udiv.ll -index b3f2c2a6a66..3530343ef4a 100644 ---- a/test/Transforms/IndVarSimplify/udiv.ll -+++ b/test/Transforms/IndVarSimplify/udiv.ll -@@ -133,6 +133,7 @@ declare i32 @printf(i8* nocapture, ...) nounwind - ; CHECK-LABEL: @foo( - ; CHECK: for.body.preheader: - ; CHECK-NOT: udiv -+; CHECK: for.body: - - define void @foo(double* %p, i64 %n) nounwind { - entry: --- -2.18.0 - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend b/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend deleted file mode 100644 index 8a2cc37f..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend +++ /dev/null @@ -1,11 +0,0 @@ -FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:" - -SRC_URI_append_intel-x86-common = " \ - file://0001-dont-export-targets-for-binaries.patch \ - file://BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch;patchdir=llvm \ - file://IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch;patchdir=llvm \ - git://github.com/KhronosGroup/SPIRV-LLVM-Translator.git;protocol=https;branch=llvm_release_90;destsuffix=git/llvm/projects/llvm-spirv;name=spirv \ - file://0001-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \ - " - -SRCREV_spirv = "70420631144a6a25613ae37178f2cc1d3607b65b" diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch new file mode 100644 index 00000000..265fcfa2 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch @@ -0,0 +1,51 @@ +From a6361d635e5f3046853883f3ac06fb175116933c Mon Sep 17 00:00:00 2001 +From: Dongwon Kim <dongwon.kim@intel.com> +Date: Sat, 21 Aug 2021 16:09:39 -0700 +Subject: [PATCH] Build not able to locate cpp_generation_tool. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> +--- + shared/source/built_ins/kernels/CMakeLists.txt | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt +index ed85a37c52..f7c9e79137 100644 +--- a/shared/source/built_ins/kernels/CMakeLists.txt ++++ b/shared/source/built_ins/kernels/CMakeLists.txt +@@ -107,9 +107,9 @@ function(compile_builtin core_type platform_it builtin bits builtin_options mode + ) + add_custom_command( + OUTPUT ${OUTPUT_FILE_CPP} +- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME} ++ COMMAND cpp_generate_tool --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +- DEPENDS ${OUTPUT_FILES_BINARIES} $<TARGET_FILE:cpp_generate_tool> ++ DEPENDS ${OUTPUT_FILES_BINARIES} cpp_generate_tool + ) + list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}") + else() +@@ -159,9 +159,9 @@ function(generate_cpp_spirv builtin) + ) + add_custom_command( + OUTPUT ${OUTPUT_FILE_CPP} +- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME} ++ COMMAND cpp_generate_tool --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +- DEPENDS ${GENERATED_SPV_INPUT} $<TARGET_FILE:cpp_generate_tool> ++ DEPENDS ${GENERATED_SPV_INPUT} cpp_generate_tool + ) + set(OUTPUT_LIST_CPP_FILES ${OUTPUT_LIST_CPP_FILES} ${OUTPUT_FILE_CPP} PARENT_SCOPE) + else() +@@ -277,4 +277,4 @@ if(NOT "${OUTPUT_LIST_CPP_FILES}" STREQUAL "") + ) + endif() + +-apply_macro_for_each_core_type("SUPPORTED") +\ No newline at end of file ++apply_macro_for_each_core_type("SUPPORTED") +-- +2.43.2 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch new file mode 100644 index 00000000..20d9b847 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch @@ -0,0 +1,16 @@ +Upstream-Status: Inappropriate +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d52e089778..bc0cf35014 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -727,7 +727,7 @@ if(NOT MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") # Added for gtest + endif() + endif() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Werror=vla") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=vla") + + if(USE_SANITIZE_UB) + check_cxx_compiler_flag(-fsanitize=undefined COMPILER_SUPPORTS_UNDEFINED_BEHAVIOR_SANITIZER) diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/dont-use-ld-library-path.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/dont-use-ld-library-path.patch deleted file mode 100644 index b886b95d..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/dont-use-ld-library-path.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2475dfc1350f73a243c9fc223a9f06af85321d56 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Tue, 2 Jul 2019 08:36:34 +0800 -Subject: [PATCH] don't use LD_LIBRARY_PATH for native offline compiler - -Let us supply the correct path for it to be able to find the correct -libraries. - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> - ---- - runtime/built_ins/kernels/CMakeLists.txt | 2 +- - runtime/scheduler/scheduler_binary.cmake | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/runtime/built_ins/kernels/CMakeLists.txt b/runtime/built_ins/kernels/CMakeLists.txt -index 5dc9fe1b..e258847d 100644 ---- a/runtime/built_ins/kernels/CMakeLists.txt -+++ b/runtime/built_ins/kernels/CMakeLists.txt -@@ -51,7 +51,7 @@ function(compile_builtin gen_type platform_type builtin) - if(DEFINED IGDRCL__IGC_LIBRARY_PATH) - set(cloc_cmd_prefix LD_LIBRARY_PATH=${IGDRCL__IGC_LIBRARY_PATH} $<TARGET_FILE:ocloc>) - else() -- set(cloc_cmd_prefix LD_LIBRARY_PATH=$<TARGET_FILE_DIR:ocloc> $<TARGET_FILE:ocloc>) -+ set(cloc_cmd_prefix ocloc) - endif() - endif() - list(APPEND __cloc__options__ "-cl-kernel-arg-info") -diff --git a/runtime/scheduler/scheduler_binary.cmake b/runtime/scheduler/scheduler_binary.cmake -index 1b12592b..ed9f375d 100644 ---- a/runtime/scheduler/scheduler_binary.cmake -+++ b/runtime/scheduler/scheduler_binary.cmake -@@ -37,7 +37,7 @@ function(compile_kernel target gen_type platform_type kernel) - if(DEFINED IGDRCL__IGC_LIBRARY_PATH) - set(cloc_cmd_prefix LD_LIBRARY_PATH=${IGDRCL__IGC_LIBRARY_PATH} $<TARGET_FILE:ocloc>) - else() -- set(cloc_cmd_prefix LD_LIBRARY_PATH=$<TARGET_FILE_DIR:ocloc> $<TARGET_FILE:ocloc>) -+ set(cloc_cmd_prefix ocloc) - endif() - endif() - list(APPEND __cloc__options__ "-cl-kernel-arg-info") diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch new file mode 100644 index 00000000..5f93b7b6 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch @@ -0,0 +1,40 @@ +From 1f58c22992ddea4167b01b44448528de427f50d5 Mon Sep 17 00:00:00 2001 +From: Dongwon Kim <dongwon.kim@intel.com> +Date: Wed, 2 Mar 2022 15:52:45 -0800 +Subject: [PATCH] external ocloc + +Upstream-Status: Inappropriate + +Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> +--- + cmake/ocloc_cmd_prefix.cmake | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/cmake/ocloc_cmd_prefix.cmake b/cmake/ocloc_cmd_prefix.cmake +index 2b44330831..03067c9df0 100644 +--- a/cmake/ocloc_cmd_prefix.cmake ++++ b/cmake/ocloc_cmd_prefix.cmake +@@ -4,12 +4,14 @@ + # SPDX-License-Identifier: MIT + # + +-if(WIN32) +- set(ocloc_cmd_prefix ocloc) +-else() +- if(DEFINED NEO__IGC_LIBRARY_PATH) +- set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>) ++if(NOT DEFINED ocloc_cmd_prefix) ++ if(WIN32) ++ set(ocloc_cmd_prefix ocloc) + else() +- set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>) ++ if(DEFINED NEO__IGC_LIBRARY_PATH) ++ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>) ++ else() ++ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>) ++ endif() + endif() + endif() +-- +2.37.3 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/f10439aea214984a060566831f63d3aa198ef1b8.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/f10439aea214984a060566831f63d3aa198ef1b8.patch new file mode 100644 index 00000000..b7fcb3d1 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/f10439aea214984a060566831f63d3aa198ef1b8.patch @@ -0,0 +1,54 @@ +From f10439aea214984a060566831f63d3aa198ef1b8 Mon Sep 17 00:00:00 2001 +From: Pawel Cieslak <pawel.cieslak@intel.com> +Date: Tue, 14 May 2024 14:20:24 +0000 +Subject: [PATCH] fix: include <algorithm> where std::find is used + +Related-To: NEO-11375 +Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com> + +Upstream-Status: Backport [https://github.com/intel/compute-runtime/commit/f10439aea214984a060566831f63d3aa198ef1b8] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + .../sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp | 3 ++- + shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp | 4 +++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/level_zero/sysman/test/unit_tests/sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp b/level_zero/sysman/test/unit_tests/sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp +index 6ab1b751d866..8a224752c8fc 100644 +--- a/level_zero/sysman/test/unit_tests/sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp ++++ b/level_zero/sysman/test/unit_tests/sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2021-2023 Intel Corporation ++ * Copyright (C) 2021-2024 Intel Corporation + * + * SPDX-License-Identifier: MIT + * +@@ -13,6 +13,7 @@ + + #include "gtest/gtest.h" + ++#include <algorithm> + #include <limits> + #include <netlink/handlers.h> + +diff --git a/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp b/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp +index 206c272c5bb2..e961248e73a3 100644 +--- a/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp ++++ b/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2021-2023 Intel Corporation ++ * Copyright (C) 2021-2024 Intel Corporation + * + * SPDX-License-Identifier: MIT + * +@@ -17,6 +17,8 @@ + + #include "gtest/gtest.h" + ++#include <algorithm> ++ + using namespace NEO; + + struct MockGmmHandleAllocator : NEO::GmmHandleAllocator { diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_19.35.13977.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_19.35.13977.bb deleted file mode 100644 index b3e8f4a1..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_19.35.13977.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "The Intel(R) Graphics Compute Runtime for OpenCL(TM)" -DESCRIPTION = "The Intel(R) Graphics Compute Runtime for OpenCL(TM) \ -is an open source project to converge Intel's development efforts \ -on OpenCL(TM) compute stacks supporting the GEN graphics hardware \ -architecture." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ae27f47fd6755510247c19e547e4c804 \ - file://third_party/opencl_headers/LICENSE;md5=dcefc90f4c3c689ec0c2489064e7273b" - -SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https \ - " - -SRC_URI_append_class-target = " \ - file://dont-use-ld-library-path.patch \ -" - -SRCREV = "cb4e5576cb5414ab3af54c49819a4ced305b965b" - -S = "${WORKDIR}/git" - -DEPENDS += " intel-graphics-compiler gmmlib clang" -DEPENDS_append_class-target = " intel-compute-runtime-native" - -RDEPENDS_${PN} += " intel-graphics-compiler gmmlib" - -inherit cmake pkgconfig - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" - -EXTRA_OECMAKE = " \ - -DBUILD_TYPE=Release \ - -DSKIP_UNIT_TESTS=1 \ - -DCCACHE_ALLOWED=FALSE \ - " - -FILES_${PN} += "${libdir}/intel-opencl/libigdrcl.so" - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" -EXCLUDE_FROM_WORLD = "1" diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.13.29138.7.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.13.29138.7.bb new file mode 100644 index 00000000..7280ed03 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.13.29138.7.bb @@ -0,0 +1,65 @@ +SUMMARY = "The Intel(R) Graphics Compute Runtime for OpenCL(TM)" +DESCRIPTION = "The Intel(R) Graphics Compute Runtime for OpenCL(TM) \ +is an open source project to converge Intel's development efforts \ +on OpenCL(TM) compute stacks supporting the GEN graphics hardware \ +architecture." + +LICENSE = "MIT & Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eca6ec6997e18db166db7109cdbe611c \ + file://third_party/opencl_headers/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=releases/24.13 \ + file://disable-werror.patch \ + file://allow-to-find-cpp-generation-tool.patch \ + file://external-ocloc.patch \ + file://f10439aea214984a060566831f63d3aa198ef1b8.patch \ + " + +SRCREV = "7131387cdbb02d480a225c70daef913a6c024a6e" + +S = "${WORKDIR}/git" + +DEPENDS += " intel-graphics-compiler gmmlib libva qemu-native" + +RDEPENDS:${PN} += " intel-graphics-compiler gmmlib" + +inherit cmake pkgconfig qemu + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +EXTRA_OECMAKE = " \ + -DIGC_DIR=${STAGING_INCDIR}/igc \ + -DBUILD_TYPE=Release \ + -DSKIP_UNIT_TESTS=1 \ + -DCCACHE_ALLOWED=FALSE \ + -DNEO_DISABLE_LD_LLD=ON \ + -DNEO_DISABLE_LD_GOLD=ON \ + " + +EXTRA_OECMAKE:append:class-target = " \ + -Docloc_cmd_prefix=ocloc \ + -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \ + " + +PACKAGECONFIG ??= "" +PACKAGECONFIG[levelzero] = "-DBUILD_WITH_L0=ON, -DBUILD_WITH_L0=OFF, level-zero" + +do_configure:prepend:class-target () { + # Write out a qemu wrapper that will be used by cmake. + qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${B}/bin'),d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" + cat > ${WORKDIR}/qemuwrapper << EOF +#!/bin/sh +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/qemuwrapper +} + +FILES:${PN} += " \ + ${libdir}/intel-opencl/libigdrcl.so \ + ${libdir}/libocloc.so \ + " + +FILES:${PN}-dev = "${includedir}" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch new file mode 100644 index 00000000..377081fd --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch @@ -0,0 +1,35 @@ +From 3d71670f8ad5b54d434c2f5f71713bb1d5433ae4 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Tue, 12 Oct 2021 23:46:42 +0800 +Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS + +Otherwise it starts failing with: + +| ninja: error: 'IGC/VectorCompiler/lib/BiF/opt', needed by 'IGC/VectorCompiler/lib/BiF/VCBiFPrintfOCL32.opt.bc', missing and no known rule to make it + +We don't need to explicitly make sure opt is built when +using prebuilt binaries. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake b/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake +index d20d7f887..882e09fea 100644 +--- a/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake ++++ b/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake +@@ -109,7 +109,7 @@ function(vc_build_bif TARGET RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) + COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}" + COMMAND CMCLTranslatorTool -o ${BIF_CMCL_BC_NAME} ${BIF_CLANG_BC_NAME_FINAL} + COMMAND ${LLVM_OPT_EXE} ${IGC_LLVM_DEPENDENT_OPT_FLAGS} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} +- DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${BIF_CLANG_BC_PATH_FINAL} ++ DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL} + BYPRODUCTS ${BIF_OPT_BC_PATH} + SOURCES ${CMCL_SRC_PATH}) + set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE) +-- +2.43.2 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch new file mode 100644 index 00000000..dca75e22 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch @@ -0,0 +1,31 @@ +From e69a3181482e5f442756a61c7b683914072884f1 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Mon, 9 Jan 2023 11:43:05 +0800 +Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers + +We clone the SPIRV headers and tools in a different directory to ensure +file path substitutions take place. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> + +--- + external/SPIRV-Tools/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt +index 9afa5746c..7ca24d5dc 100644 +--- a/external/SPIRV-Tools/CMakeLists.txt ++++ b/external/SPIRV-Tools/CMakeLists.txt +@@ -43,8 +43,8 @@ else() #By default use build from sources + message(STATUS "[SPIRV-Tools] : Building from source") + message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}") + +- set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Headers") # used in subdirectory +- set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Tools") ++ set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Headers") # used in subdirectory ++ set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Tools") + + set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build") + set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}") diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch new file mode 100644 index 00000000..39443931 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch @@ -0,0 +1,24 @@ +From 5648568e597acd0fed82aac3e6aef0f95a1b78d1 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Thu, 19 May 2022 22:50:09 +0800 +Subject: [PATCH] fix tblgen + +Upstream-Status: Inappropriate [OE specific] + +--- + IGC/cmake/igc_llvm.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake +index 10322533c..9020cb3c8 100644 +--- a/IGC/cmake/igc_llvm.cmake ++++ b/IGC/cmake/igc_llvm.cmake +@@ -52,7 +52,7 @@ else() + set(LLVM_OPT_EXE "opt" CACHE STRING "") + + set(LLVM_TABLEGEN_EXE "llvm-tblgen") +- if(CMAKE_CROSSCOMPILING) ++ if(TRUE) + if(DEFINED LLVM_TABLEGEN) + set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN}) + else() diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch deleted file mode 100644 index 3f3e1d49..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4e903a6914d5124d616cf085e30e8cbaa20afb77 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 12 Jun 2019 14:10:23 +0800 -Subject: [PATCH 1/4] skip execution of ElfPackager - -ElfPackager adds the ability to convert llvm bitcode into elf files for -easier partitioning. Skip for now until we start building a native -version for this. - -Upstream-Status: Inappropriate [configuration specific] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - IGC/ElfPackager/CMakeLists.txt | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt -index d9487aeb..bc728ada 100644 ---- a/IGC/ElfPackager/CMakeLists.txt -+++ b/IGC/ElfPackager/CMakeLists.txt -@@ -71,10 +71,10 @@ include_directories ( - ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/ - ) - --add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} -- POST_BUILD -- COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin -- ) -+#add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} -+# POST_BUILD -+# COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin -+# ) - - - add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}") --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch deleted file mode 100644 index 517dc36f..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 15a23e549636626cf32b062a5308a29cc53ce360 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 21 Aug 2019 17:29:00 +0800 -Subject: [PATCH 2/4] comment out dump functions - -Otherwise it leads to errors when linking with lld: - -| ld.lld: error: undefined symbol: llvm::Value::dump() const -| >>> referenced by PreRAScheduler.cpp:252 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:252) -| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpDDGContents()) in archive IGC/Release/libCompiler.a -| -| ld.lld: error: undefined symbol: llvm::Value::dump() const -| >>> referenced by PreRAScheduler.cpp:855 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:855) -| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a -| -| ld.lld: error: undefined symbol: llvm::Value::dump() const -| >>> referenced by PreRAScheduler.cpp:876 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:876) -| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a -| -| ld.lld: error: undefined symbol: llvm::Value::dump() const -| >>> referenced by PreRAScheduler.cpp:888 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:888) -| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a -| -| ld.lld: error: undefined symbol: llvm::Value::dump() const -| >>> referenced by PreRAScheduler.cpp:902 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:902) -| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a -| clang-8: error: linker command failed with exit code 1 (use -v to see invocation) -| ninja: build stopped: subcommand failed. - -Upstream-Status: Submitted [https://github.com/intel/intel-graphics-compiler/pull/105] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - IGC/Compiler/CISACodeGen/PreRAScheduler.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp -index 62e89c0c..ba01af01 100644 ---- a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp -+++ b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp -@@ -178,8 +178,10 @@ namespace IGC { - AU.addRequired<RegisterEstimator>(); - } - -+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) - void dumpDDGContents(); - void dumpPriorityQueueContents(); -+#endif - - void clearDDG(); - -@@ -228,6 +230,7 @@ IGC_INITIALIZE_PASS_DEPENDENCY(RegisterEstimator) - IGC_INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass) - IGC_INITIALIZE_PASS_END(PreRAScheduler, PASS_FLAG, PASS_DESC, PASS_CFG_ONLY, PASS_ANALYSIS) - -+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) - void PreRAScheduler::dumpDDGContents() - { - IGC_SET_FLAG_VALUE(PrintToConsole, 1); -@@ -259,6 +262,7 @@ void PreRAScheduler::dumpDDGContents() - - IGC_SET_FLAG_VALUE(PrintToConsole, 0); - } -+#endif - - void PreRAScheduler::clearDDG() - { -@@ -841,6 +845,7 @@ bool PreRAScheduler::ScheduleReadyNodes( - return Changed; - } - -+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) - void PreRAScheduler::dumpPriorityQueueContents() - { - llvm::PriorityQueue<Node*, std::vector<Node*>, PreRAScheduler::OrderByLatency> longLatencyQueueCopy = longLatencyDelaySortedReadyQueue; -@@ -912,6 +917,7 @@ void PreRAScheduler::dumpPriorityQueueContents() - - IGC_SET_FLAG_VALUE(PrintToConsole, 0); - } -+#endif - - bool PreRAScheduler::runOnFunction(Function& F) { - CodeGenContext* ctx = getAnalysis<CodeGenContextWrapper>().getCodeGenContext(); --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch deleted file mode 100644 index 4af8c17e..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch +++ /dev/null @@ -1,405 +0,0 @@ -From 598038626dd2c10b96308347718f26cfa3dc509c Mon Sep 17 00:00:00 2001 -From: "Wesierski, Lukasz" <lukasz.wesierski@intel.com> -Date: Mon, 9 Sep 2019 09:11:20 -0700 -Subject: [PATCH 4/4] Fix for buildbreak when using clang-9 compiler - -Fixes #106 -Fxies #111 - -Change-Id: I291bf03c31b1786a00b8bc2c6d23c5adb8b72e73 - -Upstream-Status: Backport [https://github.com/intel/intel-graphics-compiler/commit/a332238b46e9fa9e06265d18eb877d095015e6fb] - -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h | 4 + - .../SPIRV/libSPIRV/SPIRVInstruction.h | 18 +-- - IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp | 136 +++++++++--------- - IGC/AdaptorOCL/cif/cif/export/registry.h | 3 +- - IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | 4 +- - visa/CISA.l | 2 +- - visa/CMakeLists.txt | 6 +- - 7 files changed, 89 insertions(+), 84 deletions(-) - -diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h -index 7a2ba855..307ba3f3 100644 ---- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h -+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h -@@ -129,8 +129,12 @@ class SPIRVExtInst; - void decode(std::istream &I) { getDecoder(I) >> x >> y;} - #define _SPIRV_DEF_DEC3(x,y,z) \ - void decode(std::istream &I) { getDecoder(I) >> x >> y >> z;} -+#define _SPIRV_DEF_DEC3_OVERRIDE(x,y,z) \ -+ void decode(std::istream &I) override { getDecoder(I) >> x >> y >> z;} - #define _SPIRV_DEF_DEC4(x,y,z,u) \ - void decode(std::istream &I) { getDecoder(I) >> x >> y >> z >> u;} -+#define _SPIRV_DEF_DEC4_OVERRIDE(x,y,z,u) \ -+ void decode(std::istream &I) override { getDecoder(I) >> x >> y >> z >> u;} - #define _SPIRV_DEF_DEC5(x,y,z,u,v) \ - void decode(std::istream &I) { getDecoder(I) >> x >> y >> z >> u >> v;} - #define _SPIRV_DEF_DEC6(x,y,z,u,v,w) \ -diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h -index 9f4e9d1f..bb85fd04 100644 ---- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h -+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h -@@ -727,10 +727,10 @@ public: - return getValue(ConditionId); - } - SPIRVLabel *getTrueLabel() const { -- return get<SPIRVLabel>(TrueLabelId); -+ return SPIRVEntry::get<SPIRVLabel>(TrueLabelId); - } - SPIRVLabel *getFalseLabel() const { -- return get<SPIRVLabel>(FalseLabelId); -+ return SPIRVEntry::get<SPIRVLabel>(FalseLabelId); - } - protected: - void setWordCount(SPIRVWord TheWordCount) { -@@ -940,7 +940,7 @@ public: - SPIRVEntry::setWordCount(TheWordCount); - LoopControlParameters.resize(TheWordCount - FixedWordCount); - } -- _SPIRV_DEF_DEC4(MergeBlock, ContinueTarget, LoopControl, -+ _SPIRV_DEF_DEC4_OVERRIDE(MergeBlock, ContinueTarget, LoopControl, - LoopControlParameters) - - protected: -@@ -1120,7 +1120,7 @@ public: - - SPIRVFunctionCallGeneric(SPIRVModule *BM, SPIRVWord ResId, SPIRVType *TheType, - const std::vector<SPIRVWord> &TheArgs) -- : SPIRVInstruction(TheArgs.size() + FixedWordCount, OC, TheType, ResId, -+ : SPIRVInstruction(TheArgs.size() + FixedWordCount, OC, TheType, ResId, NULL, - BM), - Args(TheArgs) {} - SPIRVFunctionCallGeneric():SPIRVInstruction(OC) {} -@@ -1152,7 +1152,7 @@ class SPIRVFunctionCall: - public: - SPIRVFunctionCall():FunctionId(SPIRVID_INVALID) {} - SPIRVFunction *getFunction()const { -- return get<SPIRVFunction>(FunctionId); -+ return SPIRVEntry::get<SPIRVFunction>(FunctionId); - } - _SPIRV_DEF_DEC4(Type, Id, FunctionId, Args) - void validate()const; -@@ -1169,8 +1169,8 @@ public: - const std::vector<SPIRVWord>& TheArgs, - SPIRVBasicBlock* BB); - SPIRVFunctionPointerCallINTEL() : CalledValueId(SPIRVID_INVALID) {} -- SPIRVValue* getCalledValue() const { return get<SPIRVValue>(CalledValueId); } -- _SPIRV_DEF_DEC4(Type, Id, CalledValueId, Args) -+ SPIRVValue* getCalledValue() const { return SPIRVEntry::get<SPIRVValue>(CalledValueId); } -+ _SPIRV_DEF_DEC4_OVERRIDE(Type, Id, CalledValueId, Args) - void validate() const override; - bool isOperandLiteral(unsigned Index) const { return false; } - CapVec getRequiredCapability() const override { -@@ -1188,8 +1188,8 @@ public: - SPIRVFunctionPointerINTEL(SPIRVId TheId, SPIRVType* TheType, - SPIRVFunction* TheFunction, SPIRVBasicBlock* BB); - SPIRVFunctionPointerINTEL() : SPIRVInstruction(OC), TheFunction(SPIRVID_INVALID) {} -- SPIRVFunction* getFunction() const { return get<SPIRVFunction>(TheFunction); } -- _SPIRV_DEF_DEC3(Type, Id, TheFunction) -+ SPIRVFunction* getFunction() const { return SPIRVEntry::get<SPIRVFunction>(TheFunction); } -+ _SPIRV_DEF_DEC3_OVERRIDE(Type, Id, TheFunction) - void validate() const override; - bool isOperandLiteral(unsigned Index) const { return false; } - CapVec getRequiredCapability() const override { -diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp -index 353341b5..74ab6e93 100644 ---- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp -+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp -@@ -94,126 +94,126 @@ public: - virtual ~SPIRVModuleImpl(); - - // Object query functions -- bool exist(SPIRVId) const; -- bool exist(SPIRVId, SPIRVEntry **) const; -+ bool exist(SPIRVId) const override; -+ bool exist(SPIRVId, SPIRVEntry **) const override; - SPIRVId getId(SPIRVId Id = SPIRVID_INVALID, unsigned Increment = 1); -- virtual SPIRVEntry *getEntry(SPIRVId Id) const; -+ virtual SPIRVEntry *getEntry(SPIRVId Id) const override; - virtual void addUnknownStructField( -- SPIRVTypeStruct*, unsigned idx, SPIRVId id); -- virtual void resolveUnknownStructFields(); -- bool hasDebugInfo() const -+ SPIRVTypeStruct*, unsigned idx, SPIRVId id) override; -+ virtual void resolveUnknownStructFields() override; -+ bool hasDebugInfo() const override - { - return getCompilationUnit() != nullptr; - } - - // Error handling functions -- SPIRVErrorLog &getErrorLog() { return ErrLog;} -- SPIRVErrorCode getError(std::string &ErrMsg) { return ErrLog.getError(ErrMsg);} -+ SPIRVErrorLog &getErrorLog() override { return ErrLog;} -+ SPIRVErrorCode getError(std::string &ErrMsg) override { return ErrLog.getError(ErrMsg);} - - // Module query functions -- SPIRVAddressingModelKind getAddressingModel() { return AddrModel;} -- SPIRVExtInstSetKind getBuiltinSet(SPIRVId SetId) const; -- const SPIRVCapSet &getCapability() const { return CapSet;} -- const std::string &getCompileFlag() const { return CompileFlag;} -- std::string &getCompileFlag() { return CompileFlag;} -- void setCompileFlag(const std::string &options) { CompileFlag = options; } -- bool isSpecConstant(SPIRVWord spec_id) const { -+ SPIRVAddressingModelKind getAddressingModel() override { return AddrModel;} -+ SPIRVExtInstSetKind getBuiltinSet(SPIRVId SetId) const override; -+ const SPIRVCapSet &getCapability() const override { return CapSet;} -+ const std::string &getCompileFlag() const override { return CompileFlag;} -+ std::string &getCompileFlag() override { return CompileFlag;} -+ void setCompileFlag(const std::string &options) override { CompileFlag = options; } -+ bool isSpecConstant(SPIRVWord spec_id) const override { - if(SCMap) - return SCMap->find(spec_id) != SCMap->end(); - else - return false; - } -- uint64_t getSpecConstant(SPIRVWord spec_id) { -+ uint64_t getSpecConstant(SPIRVWord spec_id) override { - spirv_assert(isSpecConstant(spec_id) && "Specialization constant was not specialized!"); - return SCMap->at(spec_id); - } -- void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) { SCMap = specConstants; } -- std::set<std::string> &getExtension() { return SPIRVExt;} -- SPIRVFunction *getFunction(unsigned I) const { return FuncVec[I];} -- SPIRVVariable *getVariable(unsigned I) const { return VariableVec[I];} -- virtual SPIRVValue *getValue(SPIRVId TheId) const; -- virtual std::vector<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const; -- virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const; -- virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const; -- virtual SPIRVType *getValueType(SPIRVId TheId)const; -+ void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) override { SCMap = specConstants; } -+ std::set<std::string> &getExtension() override { return SPIRVExt;} -+ SPIRVFunction *getFunction(unsigned I) const override { return FuncVec[I];} -+ SPIRVVariable *getVariable(unsigned I) const override { return VariableVec[I];} -+ virtual SPIRVValue *getValue(SPIRVId TheId) const override; -+ virtual std::vector<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const override; -+ virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const override; -+ virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const override; -+ virtual SPIRVType *getValueType(SPIRVId TheId)const override; - virtual std::vector<SPIRVType *> getValueTypes(const std::vector<SPIRVId>&) -- const; -- SPIRVMemoryModelKind getMemoryModel() { return MemoryModel;} -- virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal); -- unsigned getNumEntryPoints(SPIRVExecutionModelKind EM) const { -+ const override; -+ SPIRVMemoryModelKind getMemoryModel() override { return MemoryModel;} -+ virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal) override; -+ unsigned getNumEntryPoints(SPIRVExecutionModelKind EM) const override{ - auto Loc = EntryPointVec.find(EM); - if (Loc == EntryPointVec.end()) - return 0; - return Loc->second.size(); - } -- SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind EM, unsigned I) const { -+ SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind EM, unsigned I) const override { - auto Loc = EntryPointVec.find(EM); - if (Loc == EntryPointVec.end()) - return nullptr; - spirv_assert(I < Loc->second.size()); - return get<SPIRVFunction>(Loc->second[I]); - } -- unsigned getNumFunctions() const { return FuncVec.size();} -- unsigned getNumVariables() const { return VariableVec.size();} -- SpvSourceLanguage getSourceLanguage(SPIRVWord * Ver = nullptr) const { -+ unsigned getNumFunctions() const override { return FuncVec.size();} -+ unsigned getNumVariables() const override { return VariableVec.size();} -+ SpvSourceLanguage getSourceLanguage(SPIRVWord * Ver = nullptr) const override { - if (Ver) - *Ver = SrcLangVer; - return SrcLang; - } -- std::set<std::string> &getSourceExtension() { return SrcExtension;} -- bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const; -+ std::set<std::string> &getSourceExtension() override { return SrcExtension;} -+ bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const override; - const std::string &getModuleProcessed() const { return ModuleProcessed; } -- const std::vector<SPIRVString *> &getStringVec() const { return StringVec; } -+ const std::vector<SPIRVString *> &getStringVec() const override { return StringVec; } - - // Module changing functions -- bool importBuiltinSet(const std::string &, SPIRVId *); -- bool importBuiltinSetWithId(const std::string &, SPIRVId); -- void optimizeDecorates(); -- void setAddressingModel(SPIRVAddressingModelKind AM) { AddrModel = AM;} -- void setAlignment(SPIRVValue *, SPIRVWord); -- void setMemoryModel(SPIRVMemoryModelKind MM) { MemoryModel = MM;} -- void setName(SPIRVEntry *E, const std::string &Name); -- void setSourceLanguage(SpvSourceLanguage Lang, SPIRVWord Ver) { -+ bool importBuiltinSet(const std::string &, SPIRVId *) override; -+ bool importBuiltinSetWithId(const std::string &, SPIRVId) override; -+ void optimizeDecorates() override; -+ void setAddressingModel(SPIRVAddressingModelKind AM) override { AddrModel = AM;} -+ void setAlignment(SPIRVValue *, SPIRVWord) override; -+ void setMemoryModel(SPIRVMemoryModelKind MM) override { MemoryModel = MM;} -+ void setName(SPIRVEntry *E, const std::string &Name) override; -+ void setSourceLanguage(SpvSourceLanguage Lang, SPIRVWord Ver) override { - SrcLang = Lang; - SrcLangVer = Ver; - } -- void setModuleProcessed(const std::string& MP) { -+ void setModuleProcessed(const std::string& MP) override { - ModuleProcessed = MP; - } - - // Object creation functions - template<class T> void addTo(std::vector<T *> &V, SPIRVEntry *E); -- virtual SPIRVEntry *addEntry(SPIRVEntry *E); -- virtual SPIRVString *getString(const std::string &Str); -+ virtual SPIRVEntry *addEntry(SPIRVEntry *E) override; -+ virtual SPIRVString *getString(const std::string &Str) override; - virtual SPIRVMemberName *addMemberName(SPIRVTypeStruct *ST, -- SPIRVWord MemberNumber, const std::string &Name); -+ SPIRVWord MemberNumber, const std::string &Name) override; - virtual SPIRVLine *addLine(SPIRVString *FileName, SPIRVWord Line, -- SPIRVWord Column); -- virtual void addCapability(SPIRVCapabilityKind); -- virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric *); -- virtual SPIRVDecorationGroup *addDecorationGroup(); -- virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group); -+ SPIRVWord Column) override; -+ virtual void addCapability(SPIRVCapabilityKind) override; -+ virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric *) override; -+ virtual SPIRVDecorationGroup *addDecorationGroup() override; -+ virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group) override; - virtual SPIRVGroupDecorate *addGroupDecorate(SPIRVDecorationGroup *Group, -- const std::vector<SPIRVEntry *> &Targets); -+ const std::vector<SPIRVEntry *> &Targets) override; - virtual SPIRVGroupDecorateGeneric *addGroupDecorateGeneric( -- SPIRVGroupDecorateGeneric *GDec); -+ SPIRVGroupDecorateGeneric *GDec) override; - virtual SPIRVGroupMemberDecorate *addGroupMemberDecorate( -- SPIRVDecorationGroup *Group, const std::vector<SPIRVEntry *> &Targets); -+ SPIRVDecorationGroup *Group, const std::vector<SPIRVEntry *> &Targets) override; - virtual void addEntryPoint(SPIRVExecutionModelKind ExecModel, -- SPIRVId EntryPoint); -- virtual SPIRVForward *addForward(SPIRVType *Ty); -- virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty); -- virtual SPIRVFunction *addFunction(SPIRVFunction *); -- virtual SPIRVFunction *addFunction(SPIRVTypeFunction *, SPIRVId); -- virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *); -+ SPIRVId EntryPoint) override; -+ virtual SPIRVForward *addForward(SPIRVType *Ty) override; -+ virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty) override; -+ virtual SPIRVFunction *addFunction(SPIRVFunction *) override; -+ virtual SPIRVFunction *addFunction(SPIRVTypeFunction *, SPIRVId) override; -+ virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *) override; - - // Type creation functions - template<class T> T * addType(T *Ty); -- virtual SPIRVTypeInt *addIntegerType(unsigned BitWidth); -+ virtual SPIRVTypeInt *addIntegerType(unsigned BitWidth) override; - - // Constant creation functions -- virtual SPIRVValue *addConstant(SPIRVValue *); -- virtual SPIRVValue *addConstant(SPIRVType *, uint64_t); -+ virtual SPIRVValue *addConstant(SPIRVValue *) override; -+ virtual SPIRVValue *addConstant(SPIRVType *, uint64_t) override; - - virtual SPIRVInstruction *addLoopMergeInst( - SPIRVId MergeBlock, SPIRVId ContinueTarget, -@@ -226,7 +226,7 @@ public: - addInstruction(SPIRVInstruction *Inst, SPIRVBasicBlock *BB, - SPIRVInstruction *InsertBefore = nullptr); - -- virtual SPIRVExtInst* getCompilationUnit() const -+ virtual SPIRVExtInst* getCompilationUnit() const override - { - for (auto& item : IdEntryMap) - { -@@ -242,7 +242,7 @@ public: - return nullptr; - } - -- virtual std::vector<SPIRVExtInst*> getGlobalVars() -+ virtual std::vector<SPIRVExtInst*> getGlobalVars() override - { - std::vector<SPIRVExtInst*> globalVars; - -@@ -260,7 +260,7 @@ public: - return globalVars; - } - -- virtual std::vector<SPIRVValue*> parseSpecConstants() -+ virtual std::vector<SPIRVValue*> parseSpecConstants() override - { - std::vector<SPIRVValue*> specConstants; - -diff --git a/IGC/AdaptorOCL/cif/cif/export/registry.h b/IGC/AdaptorOCL/cif/cif/export/registry.h -index a2b893c2..1571a698 100644 ---- a/IGC/AdaptorOCL/cif/cif/export/registry.h -+++ b/IGC/AdaptorOCL/cif/cif/export/registry.h -@@ -50,7 +50,8 @@ namespace Helpers { - struct EntryPointInterfaceBase{ - EntryPointInterfaceBase(){ - } -- -+ virtual ~EntryPointInterfaceBase() = default; -+ - virtual ICIF * Create(Version_t version, ICIF * parent) const = 0; - virtual InterfaceId_t GetFirstIncompatible(CIF::CompatibilityDataHandle handle) const = 0; - virtual void GetSupportedVersions(Version_t &verMin, Version_t &verMax) const = 0; -diff --git a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp -index ebad9b3d..3bde1151 100644 ---- a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp -+++ b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp -@@ -301,7 +301,7 @@ namespace FCL - std::string dumpPath = "c:\\Intel\\IGC\\"; // default if something goes wrong - char custom_dir[256]; - FCLReadIGCRegistry("DumpToCustomDir", custom_dir, sizeof(custom_dir)); -- if (custom_dir != nullptr && strlen(custom_dir) > 0) -+ if (strlen(custom_dir) > 0) - { - dumpPath = custom_dir; - } -@@ -321,7 +321,7 @@ namespace FCL - std::string dumpPath = "/tmp/IntelIGC/"; // default if something goes wrong - char custom_dir[256]; - FCLReadIGCRegistry("DumpToCustomDir", custom_dir, sizeof(custom_dir)); -- if (custom_dir != nullptr && strlen(custom_dir) > 0) -+ if (strlen(custom_dir) > 0) - { - dumpPath = custom_dir; - } -diff --git a/visa/CISA.l b/visa/CISA.l -index def21e4b..27532695 100644 ---- a/visa/CISA.l -+++ b/visa/CISA.l -@@ -45,7 +45,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - #pragma warning(default: 4005) - #endif - --#include "CISA.tab.h" -+#include "CISA.tab.hpp" - - #ifdef _DEBUG - #define TRACE(str) fprintf(yyout, str); ECHO; fprintf(yyout, "\n") -diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt -index 11d1bf53..551e4edb 100644 ---- a/visa/CMakeLists.txt -+++ b/visa/CMakeLists.txt -@@ -105,8 +105,8 @@ endif() - # Set up the bison and flex targets. These commands will set up commands to generate the appropriate - # source files from the input grammars. It will also set up the dependencies correctly for any - # library or executable that uses the generated source --BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.c COMPILE_FLAGS "-vt -p CISA") --FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.c COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}") -+BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp COMPILE_FLAGS "-vt -p CISA") -+FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}") - ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) - - add_custom_target(CISAScanner_target DEPENDS ${FLEX_CISAScanner_OUTPUTS} ${BISON_CISAParser_OUTPUTS}) -@@ -134,7 +134,7 @@ include_directories(${Jitter_inc_dirs}) - - # Tell cmake to generate code to compile the flex and bison generated source as c++ rather than c - # (due to the fact that they are .c files rather than .cpp) --set_source_files_properties( CISA.tab.c lex.CISA.c PROPERTIES LANGUAGE CXX ) -+set_source_files_properties( CISA.tab.cpp lex.CISA.cpp PROPERTIES LANGUAGE CXX ) - - set(LocalScheduler_SOURCES - LocalScheduler/Dependencies_G4IR.cpp --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch new file mode 100644 index 00000000..650130a8 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch @@ -0,0 +1,34 @@ +From 0559332abd04b6c8bc70171d201f43d2e4735336 Mon Sep 17 00:00:00 2001 +From: Lee Chee Yang <chee.yang.lee@intel.com> +Date: Wed, 2 Sep 2020 08:28:35 +0800 +Subject: [PATCH] Improve Reproducibility for src package + +Improve reproducibility for intel-graphics-compiler-src package. +needs to pass build path as environment variable to the build. +this only works on bison 3.7 onward, hence check for bison version +before adding the flags. +Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream] +Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> + +--- + visa/CMakeLists.txt | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt +index 6be467587..930c386a6 100644 +--- a/visa/CMakeLists.txt ++++ b/visa/CMakeLists.txt +@@ -123,8 +123,11 @@ endif() + set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp) + set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp) + +-BISON_TARGET(CISAParser CISA.y ${bison_output_file} COMPILE_FLAGS "-vt -p CISA") +-FLEX_TARGET(CISAScanner CISA.l ${flex_output_file} COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}") ++if(BISON_VERSION VERSION_GREATER_EQUAL "3.7.0") ++ set(BISON_EXTRA_FLAGS " --file-prefix-map=$ENV{B}=/igc/ ") ++endif() ++BISON_TARGET(CISAParser CISA.y ${bison_output_file} COMPILE_FLAGS "-l -vt -p CISA ${BISON_EXTRA_FLAGS} ") ++FLEX_TARGET(CISAScanner CISA.l ${flex_output_file} COMPILE_FLAGS "-PCISA -L ${WIN_FLEX_FLAG} ") + ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) + set(CISAScanner_dependencies) + diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb deleted file mode 100644 index 297f4491..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" -DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ -llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ -hardware architecture." - -LICENSE = "MIT & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ - file://IGC/Compiler/LegalizationPass.cpp;beginline=1;endline=25;md5=4abf1738ff96b18e34186eb763e28eeb" - -SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https \ - file://0001-skip-execution-of-ElfPackager.patch \ - file://0002-comment-out-dump-functions.patch \ - file://0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch \ - " - -SRCREV = "5f96c6db35ffa238fd84314c99a53e6708322d65" - -S = "${WORKDIR}/git" - -inherit cmake - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" - -DEPENDS += " flex-native bison-native clang opencl-clang" -DEPENDS_append_class-target = " clang-cross-x86_64" - -RDEPENDS_${PN} += "opencl-clang" - -EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=9.0.0 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3" - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.16510.2.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.16510.2.bb new file mode 100644 index 00000000..24eb97bd --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.16510.2.bb @@ -0,0 +1,75 @@ +SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" +DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ +llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ +hardware architecture." + +LICENSE = "MIT & Apache-2.0" +LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ + file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \ + file://NOTICES.txt;md5=b81a52411c84df3419f20bad4d755880" + +SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.16510 \ + git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ + git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \ + git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \ + file://0003-Improve-Reproducibility-for-src-package.patch \ + file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \ + file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \ + " + +SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" + +SRCREV_igc = "c2495d45f37fadd963ad22eb0cc1a8235a306775" +SRCREV_vc = "f9c34404d0ea9abad83875a10bd48d88cea90ebd" +SRCREV_spirv-tools = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc" +SRCREV_spirv-headers = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3" + +SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers" + +# Used to replace with relative path in reproducibility patch +export B + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig qemu python3native + +CXXFLAGS:append = " -Wno-error=nonnull" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native" + +RDEPENDS:${PN} += "opencl-clang" + +PACKAGECONFIG ??= "vc" +PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON -DIGC_OPTION__SPIRV_TRANSLATOR_MODE=Prebuilds,-DIGC_BUILD__VC_ENABLED=OFF," + +EXTRA_OECMAKE = " \ + -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \ + -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \ + -DIGC_OPTION__LLVM_MODE=Prebuilds \ + -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ + -DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \ + -DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \ + -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \ + " + +do_configure:prepend:class-target () { + # Write out a qemu wrapper that will be used by cmake. + qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" + cat > ${WORKDIR}/qemuwrapper << EOF +#!/bin/sh +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/qemuwrapper +} + +UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" + +FILES:${PN} += " \ + ${libdir}/igc/NOTICES.txt \ + " + +# libigc.so contains buildpaths +INSANE_SKIP:${PN} += "buildpaths" diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch new file mode 100644 index 00000000..031a77c7 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch @@ -0,0 +1,49 @@ +From 5aea653e611b59c70e529a1bd71885a509831557 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Tue, 1 Aug 2023 11:15:31 +0800 +Subject: [PATCH] cl_headers/CMakeLists.txt: use clang from native sysroot + +Allow clang to be found in target sysroot for target builds and dont try +to compile cross binaries, we do that ourselves. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + CMakeLists.txt | 8 ++++---- + cl_headers/CMakeLists.txt | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5864009..60ba39e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,10 +35,10 @@ set(CMAKE_MODULE_PATH + + include(CMakeFunctions) + +-if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) +- include(CrossCompile) +- llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) +-endif() ++#if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) ++# include(CrossCompile) ++# llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) ++#endif() + + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + set(USE_PREBUILT_LLVM ON) +diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt +index 16cabb7..4423536 100644 +--- a/cl_headers/CMakeLists.txt ++++ b/cl_headers/CMakeLists.txt +@@ -1,6 +1,6 @@ + set(CL_HEADERS_LIB cl_headers) + if(USE_PREBUILT_LLVM) +- find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR}) + else() + set(CLANG_COMMAND $<TARGET_FILE:clang>) + endif() +-- +2.37.3 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch new file mode 100644 index 00000000..2f1814f8 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch @@ -0,0 +1,60 @@ +From 43c806ef321b1f677a49d28c89fb7ffecf539c2d Mon Sep 17 00:00:00 2001 +From: Tim Creech <timothy.m.creech@intel.com> +Date: Wed, 28 Jun 2023 03:45:51 -0400 +Subject: [PATCH 2/2] Request native clang only when cross-compiling (#464) + +* Request native clang only when cross-compiling + +LLVM_USE_HOST_TOOLS may be set if LLVM is configured with +LLVM_OPTIMIZED_TABLEGEN, which does not necessarily indicate +cross-compilation or that clang will only execute on the target. + +By checking that CMAKE_CROSSCOMPILING is set, we ensure that we only +build/use clang again if necessary for host execution. + +* fixup: CMAKE_CROSSCOMPILING implies LLVM_USE_HOST_TOOLS + +Co-authored-by: Wenju He <wenju.he@intel.com> + +* fixup: also use CMAKE_CROSSCOMPILING in top-level CMakeLists.txt + +--------- + +Co-authored-by: Wenju He <wenju.he@intel.com> + +Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/53843eee13cfb2357919ee02714a43bef1af0f86] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + CMakeLists.txt | 2 +- + cl_headers/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e772de9..5864009 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,7 +35,7 @@ set(CMAKE_MODULE_PATH + + include(CMakeFunctions) + +-if(LLVM_USE_HOST_TOOLS AND OPENCL_CLANG_BUILD_EXTERNAL) ++if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) + include(CrossCompile) + llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) + endif() +diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt +index 18296c2..16cabb7 100644 +--- a/cl_headers/CMakeLists.txt ++++ b/cl_headers/CMakeLists.txt +@@ -4,7 +4,7 @@ if(USE_PREBUILT_LLVM) + else() + set(CLANG_COMMAND $<TARGET_FILE:clang>) + endif() +-if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL) ++if(CMAKE_CROSSCOMPILING AND NOT OPENCL_CLANG_BUILD_EXTERNAL) + build_native_tool(clang CLANG_COMMAND) + endif() + +-- +2.37.3 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch deleted file mode 100644 index 417e0221..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2ce2619b544678541e0cc56494e2927086718613 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Tue, 26 Mar 2019 14:11:29 +0800 -Subject: [PATCH] point to correct llvm-tblgen - -Let llvm-tblgen path be passed from recipe itself. - -Also since we're going to do the patching ourselves, no need to look for -git through cmake. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1371a67..f83ffcc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -53,7 +53,7 @@ endif(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - include(AddLLVM) - include(TableGen) - --find_package(Git REQUIRED) -+#find_package(Git REQUIRED) - - if (NOT WIN32) - add_subdirectory( linux_linker ) -@@ -138,7 +138,7 @@ endif(NOT USE_PREBUILT_LLVM) - set (COMPILE_OPTIONS_TD opencl_clang_options.td) - set (COMPILE_OPTIONS_INC opencl_clang_options.inc) - --set(LLVM_TABLEGEN_EXE "llvm-tblgen") -+#set(LLVM_TABLEGEN_EXE "llvm-tblgen") - set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD}) - if(USE_PREBUILT_LLVM) - set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS}) --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_9.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc index 32af900d..31a3fb21 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_9.0.0.bb +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc @@ -5,30 +5,30 @@ DESCRIPTION = "Common clang has OpenCL-oriented API and is capable \ LICENSE = "NCSA" LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" -SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-90;protocol=https \ - file://point-to-correct-llvm-tblgen.patch \ +SRC_URI = "git://github.com/intel/opencl-clang.git;branch=${BRANCH};protocol=https \ + file://0002-Request-native-clang-only-when-cross-compiling-464.patch \ + file://0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch \ " - -SRCREV = "6f8c329bea44321aef1a1716dd206c1f7bed23cf" - S = "${WORKDIR}/git" inherit cmake DEPENDS += "clang" - -DEPENDS_append_class-target = " opencl-clang-native" +DEPENDS:append:class-target = " opencl-clang-native" COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" +COMPATIBLE_HOST:libc-musl = "null" + +DEPENDS += " spirv-llvm-translator" EXTRA_OECMAKE += "\ -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ -DCMAKE_SKIP_RPATH=TRUE \ + -DPREFERRED_LLVM_VERSION=${LLVMVERSION} \ " -do_install_append_class-native() { +do_install:append:class-native() { install -d ${D}${bindir} - install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/ + install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/ } BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb new file mode 100644 index 00000000..e946c31c --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb @@ -0,0 +1,5 @@ +require opencl-clang.inc + +SRCREV = "60fd799cc58755c16d951f9ebfde6d0f9b8554dd" + +BRANCH = "ocl-open-150" diff --git a/dynamic-layers/meta-python/recipes-opencv/dldt/dldt-model-optimizer_2019r3.1.bb b/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.1.0.bb index 56705f63..de765d6c 100644 --- a/dynamic-layers/meta-python/recipes-opencv/dldt/dldt-model-optimizer_2019r3.1.bb +++ b/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.1.0.bb @@ -5,29 +5,29 @@ environment, performs static model analysis, and adjusts deep \ learning models for optimal execution on end-point target devices." HOMEPAGE = "https://01.org/openvinotoolkit" -SRC_URI = "git://github.com/opencv/dldt.git;protocol=git;branch=2019 \ +SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2024/1;lfs=0 \ " -SRCREV = "fe3f978b98c86eaeed3cbdc280e1ffd0bc50d278" +SRCREV = "f4afc983258bcb2592d999ed6700043fdb58ad78" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" CVE_PRODUCT = "intel:openvino" - S = "${WORKDIR}/git" -do_install() { - mkdir -p ${D}${datadir}/openvino/model-optimizer - cp -r model-optimizer ${D}${datadir}/openvino/ -} +inherit setuptools3 -RDEPENDS_${PN} += " \ - python3-numpy \ - python3-protobuf \ +SETUPTOOLS_SETUP_PATH = "${WORKDIR}/git/tools/mo" + +RDEPENDS:${PN} += " \ python3-defusedxml \ + python3-fastjsonschema \ python3-networkx \ - python3-test-generator \ + python3-numpy \ + python3-protobuf \ + python3-requests \ + python3-urllib3 \ bash \ " -FILES_${PN} += "${datadir}/openvino" +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$" diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_1932.0.0.0.diff b/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_1932.0.0.0.diff deleted file mode 100644 index dae02e50..00000000 --- a/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_1932.0.0.0.diff +++ /dev/null @@ -1,30 +0,0 @@ -From ec7d732a6a23e90be34840b0f1a57e5199d393cf Mon Sep 17 00:00:00 2001 -From: Alexander Usyskin <alexander.usyskin@intel.com> -Date: Mon, 17 Jun 2019 13:27:33 +0300 -Subject: [PATCH] lms: drop rpath definitions - -Yocto fail to compile with this definitions. - -Upstream-Status: Inappropriate [configuration] -Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> ---- - CMakeLists.txt | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a303c4b..9bda082 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -109,9 +109,6 @@ install (DIRECTORY Docs/Licenses - FILES_MATCHING PATTERN "LICENSE.*" - ) - --list (APPEND CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/UNS/GMS_COMMON") --list (APPEND CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/WsmanClient") -- - if (BUILD_TESTS) - include (gtest.cmake) - endif (BUILD_TESTS) --- -2.7.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_1932.0.0.0.bb b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_1932.0.0.0.bb deleted file mode 100644 index 5fb602e1..00000000 --- a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_1932.0.0.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Intel(R) Local Managability Service" -DESCRIPTION = "Intel Local Manageability Service allows applications \ -to access the Intel Active Management Technology (AMT) firmware via \ -the Intel Management Engine Interface (MEI)." - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93" - -COMPATIBLE_HOST = '(i.86|x86_64).*-linux' - -COMPATIBLE_HOST_libc-musl = "null" - -inherit cmake systemd - -DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native connman" - -EXTRA_OECMAKE += "-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3" - -REQUIRED_DISTRO_FEATURES= "systemd" - -FILES_${PN} += "${datadir}/dbus-1/system-services/*.service" - -S = "${WORKDIR}/git" - -SYSTEMD_SERVICE_${PN} = "lms.service" - -SRC_URI = "git://github.com/intel/lms.git" -SRCREV = "f90fa51f07514b7644cc57846c90e46b146b23ae" - -SRC_URI_append = " file://lms_drop_rpath_${PV}.diff" - -do_install_append() { - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${B}/UNS/lms.service ${D}${systemd_system_unitdir} -} - -RDEPENDS_${PN} += "ace" diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb new file mode 100644 index 00000000..bdf32576 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "Intel(R) Local Managability Service" +DESCRIPTION = "Intel Local Manageability Service allows applications \ +to access the Intel Active Management Technology (AMT) firmware via \ +the Intel Management Engine Interface (MEI)." + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +COMPATIBLE_HOST:libc-musl = "null" + +inherit cmake systemd features_check python3native + +DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native pkgconfig-native python3-packaging-native" + +# Enable either connman or networkmanager or none but not both. +PACKAGECONFIG ??= "connman" +PACKAGECONFIG[connman] = "-DNETWORK_CN=ON, -DNETWORK_CN=OFF, connman" +PACKAGECONFIG[networkmanager] = "-DNETWORK_NM=ON, -DNETWORK_NM=OFF, networkmanager" + +REQUIRED_DISTRO_FEATURES= "systemd" + +FILES:${PN} += "${datadir}/dbus-1/system-services/*.service" + +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE:${PN} = "lms.service" + +SRC_URI = "git://github.com/intel/lms.git;branch=master;protocol=https \ + " +SRCREV = "388f115b2aeb3ea11499971c65f828daefd32c47" + +do_install:append() { + install -d ${D}${sysconfdir}/lms + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${B}/UNS/lms.service ${D}${systemd_system_unitdir} + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${S}/UNS/linux_scripts/70-mei-wdt.rules ${D}${sysconfdir}/udev/rules.d/70-mei-wdt.rules +} + +RDEPENDS:${PN} += "ace" + +CVE_STATUS[CVE-2018-1000535] = "cpe-incorrect: This CVE is for a different LMS - Lan Management System." diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/thermald/files/0001-Makefile-Fix-build-Issue.patch b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/files/0001-Makefile-Fix-build-Issue.patch new file mode 100644 index 00000000..ea86bc31 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/files/0001-Makefile-Fix-build-Issue.patch @@ -0,0 +1,35 @@ +From 1f6f4e29769adb9d49a3c4831dd2ba61f6ccbdce Mon Sep 17 00:00:00 2001 +From: Yogesh Tyagi <yogesh.tyagi@intel.com> +Date: Mon, 11 Mar 2024 13:13:32 +0800 +Subject: [PATCH] Makefile: Fix build Issue +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In case build directory is different from source, make sure make is able to find the correct input files. + +Fixes: +| dbus-binding-tool --prefix=thd_dbus_interface --mode=glib-server --output=thd_dbus_interface.h ../git/src/thd_dbus_interface.xml +| glib-compile-resources --generate-source thermald-resource.gresource.xml +| Failed to open file “thermald-resource.gresource.xml”: No such file or directory + +Upstream-Status: Submitted +https://github.com/intel/thermal_daemon/pull/436 + +Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index dd2ef10..cb19e17 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -97,6 +97,6 @@ thd_dbus_interface.h: $(top_srcdir)/src/thd_dbus_interface.xml + $(AM_V_GEN) dbus-binding-tool --prefix=thd_dbus_interface --mode=glib-server --output=$@ $< + + thermald-resource.c: $(top_srcdir)/thermald-resource.gresource.xml +- $(AM_V_GEN) glib-compile-resources --generate-source thermald-resource.gresource.xml ++ $(AM_V_GEN) glib-compile-resources --generate-source --sourcedir=${top_srcdir} $< + + CLEANFILES = $(BUILT_SOURCES) diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/thermald/thermald_2.5.7.bb b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/thermald_2.5.7.bb new file mode 100644 index 00000000..66765e56 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/thermald_2.5.7.bb @@ -0,0 +1,45 @@ +SUMMARY = "Linux thermal daemon" + +DESCRIPTION = "Thermal Daemon is a Linux daemon used to prevent the \ +overheating of platforms. This daemon monitors temperature and applies \ +compensation using available cooling methods." + +HOMEPAGE = "https://github.com/01org/thermal_daemon" + +DEPENDS = "dbus dbus-glib dbus-glib-native libxml2 glib-2.0 glib-2.0-native upower libevdev" +DEPENDS += "autoconf-archive-native" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848" + +SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \ + file://0001-Makefile-Fix-build-Issue.patch \ + " + +SRCREV = "ea8b773f76641a7a49d6584669e17371c22ad03e" +S = "${WORKDIR}/git" + +inherit pkgconfig autotools systemd gtk-doc + +# gtkdocsize runs before autotools do_configure and it copies gtk-doc.m4 and fails +# to copy becuase there is no m4 dir yet. +do_configure:prepend () { + mkdir -p ${S}/m4 +} + +EXTRA_OECONF = " \ + --with-systemdsystemunitdir=${systemd_system_unitdir} \ + " + +FILES:${PN} += "${datadir}/dbus-1" + +SYSTEMD_SERVICE:${PN} = "thermald.service" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +CONFFILES:${PN} = " \ + ${sysconfdir}/thermald/thermal-conf.xml \ + ${sysconfdir}/thermald/thermal-cpu-cdev-order.xml \ + " + +UPSTREAM_CHECK_URI = "https://github.com/01org/thermal_daemon/releases" diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch new file mode 100644 index 00000000..4d583657 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch @@ -0,0 +1,53 @@ +From deccc0c69c2c8759c52885be8bdda54d3cee481c Mon Sep 17 00:00:00 2001 +From: Yogesh Tyagi <yogesh.tyagi@intel.com> +Date: Sun, 11 Dec 2022 22:34:15 +0800 +Subject: [PATCH] Add print function to print test run status in ptest format + +Upstream-Status: Inappropriate [OE ptest specific] + +Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com> +--- + run_tests.py | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/run_tests.py b/run_tests.py +index 1cd796dd..e3ffd1ab 100755 +--- a/run_tests.py ++++ b/run_tests.py +@@ -327,6 +327,9 @@ def run_test(testname, host, target): + else: + ispc_exe_rel = add_prefix(host.ispc_cmd, host, target) + ++ # to reslove the error '.rodata' can not be used when making a PIE object ++ ispc_exe_rel = ispc_exe_rel + " --pic" ++ + # is this a test to make sure an error is issued? + want_error = (filename.find("tests_errors") != -1) + if want_error == True: +@@ -795,6 +798,17 @@ def check_compiler_exists(compiler_exe): + return + error("missing the required compiler: %s \n" % compiler_exe, 1) + ++def print_test_run_status(results): ++ for fstatus in results: ++ if (fstatus[1] == Status.Success): ++ print( "%s: %s" % ("PASS", fstatus[0])) ++ elif (fstatus[1] == Status.Compfail): ++ print( "%s: %s" % ("FAIL", fstatus[0])) ++ elif (fstatus[1] == Status.Runfail): ++ print( "%s: %s" % ("FAIL", fstatus[0])) ++ elif (fstatus[1] == Status.Skip): ++ print( "%s: %s" % ("SKIP", fstatus[0])) ++ + def print_result(status, results, s, run_tests_log, csv): + title = StatusStr[status] + file_list = [fname for fname, fstatus in results if status == fstatus] +@@ -938,6 +952,8 @@ def run_tests(options1, args, print_version): + pass_rate = -1 + print_debug("PASSRATE (%d/%d) = %d%% \n\n" % (len(run_succeed_files), total_tests_executed, pass_rate), s, run_tests_log) + ++ print_test_run_status(results) ++ + for status in Status: + print_result(status, results, s, run_tests_log, options.csv) + fails = [status != Status.Compfail and status != Status.Runfail for _, status in results] diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch new file mode 100644 index 00000000..b0a76ff9 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch @@ -0,0 +1,36 @@ +From 7beff95c11071170eb27b6fa7d0cc77588caee8e Mon Sep 17 00:00:00 2001 +From: Yogesh Tyagi <yogesh.tyagi@intel.com> +Date: Tue, 26 Jul 2022 15:25:10 +0800 +Subject: [PATCH] Fix QA Issues + +Stop ispc from inserting host file path in generated headers which leads to reproducibility problems. + +Upstream-Status: Inappropriate [OE build specific] + +Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com> +--- + src/module.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/module.cpp b/src/module.cpp +index e2084d2e..e2626865 100644 +--- a/src/module.cpp ++++ b/src/module.cpp +@@ -2555,7 +2555,7 @@ bool Module::writeHeader(const char *fn) { + perror("fopen"); + return false; + } +- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", fn); ++ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n"); + fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n"); + + // Create a nice guard string from the filename, turning any +@@ -2677,7 +2677,7 @@ bool Module::writeDispatchHeader(DispatchHeaderInfo *DHI) { + FILE *f = DHI->file; + + if (DHI->EmitFrontMatter) { +- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", DHI->fn); ++ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n"); + fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n"); + } + // Create a nice guard string from the filename, turning any diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch new file mode 100644 index 00000000..f452dc50 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch @@ -0,0 +1,52 @@ +From 16a2c22339287122d2c25d8bb33a5a51b4e6ee51 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Thu, 24 Feb 2022 20:01:11 +0530 +Subject: [PATCH] cmake: don't build for 32-bit targets + +Error log: +| tmp/work/corei7-64-poky-linux/ispc/1.16.0-r0/recipe-sysroot/usr/include/bits/long-double.h:23:10: fatal error: 'bits/long-double-32.h' file not found +| #include <bits/long-double-32.h> +| ^~~~~~~~~~~~~~~~~~~~~~~ +| 1 error generated. + +Remove SYSTEM include search path and set -isysroot dir path +for root dir for cross compilation. + +Upstream-Status: Inappropriate + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + cmake/GenerateBuiltins.cmake | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/cmake/GenerateBuiltins.cmake b/cmake/GenerateBuiltins.cmake +index f84494ed..d90cb1ec 100644 +--- a/cmake/GenerateBuiltins.cmake ++++ b/cmake/GenerateBuiltins.cmake +@@ -253,7 +253,7 @@ function(builtin_to_cpp bit os_name arch supported_archs supported_oses resultFi + # In this case headers will be installed in /usr/arm-linux-gnueabihf/include and will not be picked up + # by clang by default. So the following line adds such path explicitly. If this path doesn't exist and + # the headers can be found in other locations, this should not be a problem. +- set(includePath -isystem/usr/${debian_triple}/include) ++ set(includePath -isysroot${SYSROOT_DIR}) + endif() + endif() + +@@ -339,7 +339,7 @@ function (generate_target_builtins resultList) + set(regular_targets ${ARGN}) + list(FILTER regular_targets EXCLUDE REGEX wasm) + foreach (ispc_target ${regular_targets}) +- foreach (bit 32 64) ++ foreach (bit 64) + foreach (os_name ${TARGET_OS_LIST_FOR_LL}) + target_ll_to_cpp(target-${ispc_target} ${bit} ${os_name} output${os_name}${bit}) + list(APPEND tmpList ${output${os_name}${bit}}) +@@ -405,7 +405,7 @@ function (generate_common_builtins resultList) + endif() + + message (STATUS "ISPC will be built with support of ${supported_oses} for ${supported_archs}") +- foreach (bit 32 64) ++ foreach (bit 64) + foreach (os_name "windows" "linux" "freebsd" "macos" "android" "ios" "ps4" "web") + foreach (arch "x86" "arm" "wasm") + builtin_to_cpp(${bit} ${os_name} ${arch} "${supported_archs}" "${supported_oses}" res${bit}${os_name}${arch}) diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/run-ptest b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/run-ptest new file mode 100644 index 00000000..77d13bb4 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/run-ptest @@ -0,0 +1,2 @@ +#!/bin/sh +python3 run_tests.py diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.24.0.bb b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.24.0.bb new file mode 100644 index 00000000..55107397 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.24.0.bb @@ -0,0 +1,64 @@ +SUMMARY = "Intel(R) Implicit SPMD Program Compiler" +DESCRIPTION = "ispc is a compiler for a variant of the C programming language, \ +with extensions for single program, multiple data programming." +HOMEPAGE = "https://github.com/ispc/ispc" + +LICENSE = "BSD-3-Clause & Apache-2.0-with-LLVM-exception" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \ + file://third-party-programs.txt;md5=2061218c7be521556719c8b504bf9ddd" + +inherit cmake python3native ptest + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \ + file://0002-cmake-don-t-build-for-32-bit-targets.patch \ + file://0001-Fix-QA-Issues.patch \ + file://0001-Add-print-function-to-print-test-run-status-in-ptest.patch \ + file://run-ptest \ + " + +SRCREV = "d394222aef59e4759b06e39ec160e4aba6ee5f40" + +COMPATIBLE_HOST = '(x86_64).*-linux' + +DEPENDS += " clang-native bison-native flex-native" +DEPENDS:append:class-target = " clang" +RDEPENDS:${PN}-ptest += " python3-multiprocessing" + +PACKAGECONFIG ??= "tbb" +PACKAGECONFIG[tbb] = "-DISPCRT_BUILD_TASK_MODEL=TBB, -DISPCRT_BUILD_TASK_MODEL=OpenMP, tbb" + +YFLAGS='-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' + +do_configure:prepend() { + sed -i -e 's#\${BISON_EXECUTABLE}.*#\${BISON_EXECUTABLE} ${YFLAGS} #g' ${S}/CMakeLists.txt + sed -i -e 's#\${FLEX_EXECUTABLE}.*#\${FLEX_EXECUTABLE} \-L #g' ${S}/CMakeLists.txt +} + +do_install_ptest() { + cp -rf ${S}/run_tests.py ${D}${PTEST_PATH} + cp -rf ${S}/common.py ${D}${PTEST_PATH} + cp -rf ${S}/tests ${D}${PTEST_PATH} + cp -rf ${S}/test_static.isph ${D}${PTEST_PATH} + cp -rf ${S}/fail_db.txt ${D}${PTEST_PATH} + cp -rf ${S}/test_static.cpp ${D}${PTEST_PATH} +} + +EXTRA_OECMAKE += " \ + -DISPC_INCLUDE_TESTS=OFF \ + -DISPC_INCLUDE_EXAMPLES=OFF \ + -DARM_ENABLED=OFF \ + -DISPC_CROSS=ON \ + -DISPC_ANDROID_TARGET=OFF \ + -DISPC_FREEBSD_TARGET=OFF \ + -DISPC_WINDOWS_TARGET=OFF \ + -DISPC_IOS_TARGET=OFF \ + -DISPC_PS_TARGET=OFF \ + -DSYSROOT_DIR=${STAGING_DIR} \ + -DCLANG_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang \ + -DCLANGPP_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang++ \ + -DLLVM_AS_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-as \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.15.8.bb b/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.15.8.bb new file mode 100644 index 00000000..8bade9f4 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.15.8.bb @@ -0,0 +1,33 @@ +SUMMARY = "oneAPI Level Zero Specification Headers and Loader" +HOMEPAGE = "https://github.com/oneapi-src/level-zero" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc" + +SRC_URI = "git://github.com/oneapi-src/level-zero.git;protocol=https;branch=master" +SRCREV = "1685d01497428ca4d8b99200972b64685424d5c9" +S = "${WORKDIR}/git" + +inherit cmake +DEPENDS += "opencl-headers" + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" + +PACKAGES =+ "${PN}-headers ${PN}-samples ${PN}-loader" + +do_install:append () { + install -d ${D}${bindir} ${D}${libdir} + install -m 755 ${B}/bin/zello* ${D}${bindir} + + oe_libinstall -C lib libze_null ${D}${libdir} +} + + +FILES:${PN}-headers = "${includedir}" +FILES:${PN}-samples = "${bindir} ${libdir}/libze_null* ${libdir}/libze_validation*" +FILES:${PN}-loader = "${libdir}" + +# PN-loader (non -dev/-dbg/nativesdk- package) contains symlink .so +INSANE_SKIP:${PN}-loader = "dev-so" +INSANE_SKIP:${PN}-samples = "dev-so" +ALLOW_EMPTY:${PN} = "1" +BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/openembedded-layer/recipes-core/librealsense/librealsense_2.29.0.bb b/dynamic-layers/openembedded-layer/recipes-core/librealsense/librealsense_2.29.0.bb deleted file mode 100644 index cdf7d022..00000000 --- a/dynamic-layers/openembedded-layer/recipes-core/librealsense/librealsense_2.29.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Intel® RealSense™ SDK" -HOMEPAGE = "https://www.intelrealsense.com/" -DESCRIPTION = "Intel® RealSense™ SDK 2.0 is a cross-platform library for \ -Intel® RealSense™ depth cameras (D400 series and the SR300) and the T265 \ -tracking camera" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a1692f06943fa281fd047a22d7e10800" -SECTION = "lib" - -inherit pkgconfig cmake - -S = "${WORKDIR}/git" -SRC_URI = "git://github.com/IntelRealSense/librealsense.git" -SRCREV = "5096aab40c71bfa2bebd17e4ace5f6678587b889" - -EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release" -EXTRA_OECMAKE += "-DBUILD_EXAMPLES=true" -EXTRA_OECMAKE += "-DBUILD_GRAPHICAL_EXAMPLES=${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'true', 'false', d)}" -EXTRA_OECMAKE += "-DBUILD_WITH_TM2=false" -EXTRA_OECMAKE += "-DUSE_SYSTEM_LIBUSB=true" - -do_install_append() { - install -d ${D}${sysconfdir}/udev/rules.d - install -m 0644 ${S}/config/99-realsense-libusb.rules ${D}${sysconfdir}/udev/rules.d/99-${BPN}-libusb.rules -} - -DEPENDS = "udev libusb1" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'libpng libglu glfw gtk+3', '', d)}" diff --git a/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver/0001-Fix-the-compilation-warning-when-using-gcc-13-25.patch b/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver/0001-Fix-the-compilation-warning-when-using-gcc-13-25.patch new file mode 100644 index 00000000..2748d7ab --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver/0001-Fix-the-compilation-warning-when-using-gcc-13-25.patch @@ -0,0 +1,99 @@ +From b57297c14d94dac9bdef7570b7b33d70b10171f3 Mon Sep 17 00:00:00 2001 +From: Jozef Wludzik <jozef.wludzik@intel.com> +Date: Tue, 26 Mar 2024 14:43:29 +0100 +Subject: [PATCH 1/2] Fix the compilation warning when using gcc-13 (#25) + +Added missing headers. Fixed compilation error about casting from +unsigned to signed int. + +Upstream-Status: Backport [https://github.com/intel/linux-npu-driver/commit/4bcbf2abe94eb4d9c083bd616b58e309a82d008a] + +Signed-off-by: Jozef Wludzik <jozef.wludzik@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp | 7 ++++--- + umd/vpu_driver/include/umd_common.hpp | 1 + + validation/umd-test/umd_prime_buffers.h | 9 +++++++-- + validation/umd-test/utilities/data_handle.h | 1 + + 4 files changed, 13 insertions(+), 5 deletions(-) + +diff --git a/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp b/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp +index f206ebe..682e5b4 100644 +--- a/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp ++++ b/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp +@@ -5,12 +5,13 @@ + * + */ + +-#include <dlfcn.h> +-#include <memory> +- + #include "vpux_driver_compiler.h" + #include "vpu_driver/source/utilities/log.hpp" + ++#include <array> ++#include <dlfcn.h> ++#include <memory> ++ + class Vcl { + public: + static Vcl &sym() { +diff --git a/umd/vpu_driver/include/umd_common.hpp b/umd/vpu_driver/include/umd_common.hpp +index 0c874a3..5ad9be2 100644 +--- a/umd/vpu_driver/include/umd_common.hpp ++++ b/umd/vpu_driver/include/umd_common.hpp +@@ -7,6 +7,7 @@ + + #pragma once + ++#include <cstdint> + #include <limits> + #include <linux/kernel.h> + #include <stdexcept> +diff --git a/validation/umd-test/umd_prime_buffers.h b/validation/umd-test/umd_prime_buffers.h +index 6f7c7de..ab4814c 100644 +--- a/validation/umd-test/umd_prime_buffers.h ++++ b/validation/umd-test/umd_prime_buffers.h +@@ -6,12 +6,17 @@ + */ + + #pragma once ++ ++#include "umd_test.h" ++ + #include <fcntl.h> +-#include <linux/kernel.h> + #include <linux/dma-buf.h> + #include <linux/dma-heap.h> ++#include <linux/kernel.h> ++#include <stdint.h> + #include <sys/ioctl.h> + #include <sys/mman.h> ++#include <unistd.h> + + #define ALLIGN_TO_PAGE(x) __ALIGN_KERNEL((x), (UmdTest::PAGE_SIZE)) + +@@ -60,7 +65,7 @@ class PrimeBufferHelper { + return false; + + bufferFd = heapAlloc.fd; +- buffers.insert({heapAlloc.fd, {size, nullptr}}); ++ buffers.insert({static_cast<int>(heapAlloc.fd), {size, nullptr}}); + return true; + } + +diff --git a/validation/umd-test/utilities/data_handle.h b/validation/umd-test/utilities/data_handle.h +index d6e0ec0..5d937b2 100644 +--- a/validation/umd-test/utilities/data_handle.h ++++ b/validation/umd-test/utilities/data_handle.h +@@ -6,6 +6,7 @@ + */ + + #include <linux/kernel.h> ++#include <stdint.h> + #include <string> + #include <vector> + +-- +2.43.0 + diff --git a/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver/0002-Fix-compilation-failure-with-GCC-14.patch b/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver/0002-Fix-compilation-failure-with-GCC-14.patch new file mode 100644 index 00000000..9fb97354 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver/0002-Fix-compilation-failure-with-GCC-14.patch @@ -0,0 +1,110 @@ +From a9f51fd88effb7d324609e692ca7da576d6dad2e Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Tue, 28 May 2024 10:23:42 +0800 +Subject: [PATCH 2/2] Fix compilation failure with GCC-14 + +umd/level_zero_driver/core/source/event/event.cpp:65:31: error: 'remove_if' is not a member of 'std'; did you mean 'remove_cv'? +| 65 | associatedJobs.erase(std::remove_if(associatedJobs.begin(), +| | ^~~~~~~~~ +| | remove_cv + +| umd/vpu_driver/source/command/vpu_command.cpp: In member function 'void VPU::VPUCommand::appendAssociateBufferObject(VPU::VPUBufferObject*)': +| umd/vpu_driver/source/command/vpu_command.cpp:126:20: error: 'find' is not a member of 'std'; did you mean 'bind'? +| 126 | auto it = std::find(bufferObjects.begin(), bufferObjects.end(), bo); +| | ^~~~ +| | bind + +| umd/vpu_driver/source/command/vpu_command_buffer.cpp: In member function 'bool VPU::VPUCommandBuffer::addCommand(VPU::VPUCommand*, uint64_t&, uint64_t&)': +| umd/vpu_driver/source/command/vpu_command_buffer.cpp:185:24: error: 'find' is not a member of 'std'; did you mean 'bind'? +| 185 | auto it = std::find(bufferHandles.begin(), bufferHandles.end(), bo->getHandle()); +| | ^~~~ +| | bind + +| umd/level_zero_driver/ext/source/graph/elf_parser.cpp:301:32: error: 'max_element' is not a member of 'std'; did you mean 'tuple_element'? +| 301 | std::max_element(stride_begin + TENSOR_5D_STRIDE_C, stride_end)); +| | ^~~~~~~~~~~ +| | tuple_element +| umd/level_zero_driver/ext/source/graph/elf_parser.cpp:315:37: error: 'max_element' is not a member of 'std'; did you mean 'tuple_element'? +| 315 | auto max_stride_val = *std::max_element(stride_begin + TENSOR_4D_STRIDE_C, stride_end); +| | ^~~~~~~~~~~ + +| umd/level_zero_driver/tools/source/metrics/metric.cpp: In member function 'void L0::MetricContext::deactivateMetricGroups(int)': +| umd/level_zero_driver/tools/source/metrics/metric.cpp:275:38: error: 'remove_if' is not a member of 'std'; did you mean 'remove_cv'? +| 275 | activatedMetricGroups.erase(std::remove_if(activatedMetricGroups.begin(), +| | ^~~~~~~~~ +| | remove_cv + +Upstream-Status: Submitted [https://github.com/intel/linux-npu-driver/pull/30] + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + umd/level_zero_driver/core/source/event/event.cpp | 1 + + umd/level_zero_driver/ext/source/graph/elf_parser.cpp | 1 + + umd/level_zero_driver/tools/source/metrics/metric.cpp | 1 + + umd/vpu_driver/source/command/vpu_command.cpp | 1 + + umd/vpu_driver/source/command/vpu_command_buffer.cpp | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/umd/level_zero_driver/core/source/event/event.cpp b/umd/level_zero_driver/core/source/event/event.cpp +index a92248f..196d176 100644 +--- a/umd/level_zero_driver/core/source/event/event.cpp ++++ b/umd/level_zero_driver/core/source/event/event.cpp +@@ -14,6 +14,7 @@ + + #include <level_zero/ze_api.h> + #include <thread> ++#include <algorithm> + + namespace L0 { + +diff --git a/umd/level_zero_driver/ext/source/graph/elf_parser.cpp b/umd/level_zero_driver/ext/source/graph/elf_parser.cpp +index a1c8e14..dfbd61d 100644 +--- a/umd/level_zero_driver/ext/source/graph/elf_parser.cpp ++++ b/umd/level_zero_driver/ext/source/graph/elf_parser.cpp +@@ -21,6 +21,7 @@ + #include <vpux_headers/metadata.hpp> + #include <vpux_elf/types/vpu_extensions.hpp> + #include <vpux_elf/utils/error.hpp> ++#include <algorithm> + + namespace L0 { + +diff --git a/umd/level_zero_driver/tools/source/metrics/metric.cpp b/umd/level_zero_driver/tools/source/metrics/metric.cpp +index b67750f..9497311 100644 +--- a/umd/level_zero_driver/tools/source/metrics/metric.cpp ++++ b/umd/level_zero_driver/tools/source/metrics/metric.cpp +@@ -7,6 +7,7 @@ + + #include "level_zero_driver/tools/source/metrics/metric.hpp" + #include "vpu_driver/source/utilities/log.hpp" ++#include <algorithm> + + namespace L0 { + +diff --git a/umd/vpu_driver/source/command/vpu_command.cpp b/umd/vpu_driver/source/command/vpu_command.cpp +index f4ca23f..75331d9 100644 +--- a/umd/vpu_driver/source/command/vpu_command.cpp ++++ b/umd/vpu_driver/source/command/vpu_command.cpp +@@ -14,6 +14,7 @@ + #include <cstdint> + #include <vector> + #include <map> ++#include <algorithm> + + namespace VPU { + +diff --git a/umd/vpu_driver/source/command/vpu_command_buffer.cpp b/umd/vpu_driver/source/command/vpu_command_buffer.cpp +index c4ad052..bbb80ec 100644 +--- a/umd/vpu_driver/source/command/vpu_command_buffer.cpp ++++ b/umd/vpu_driver/source/command/vpu_command_buffer.cpp +@@ -11,6 +11,7 @@ + #include "vpu_driver/source/command/vpu_command_buffer.hpp" + #include "vpu_driver/source/command/vpu_copy_command.hpp" + #include "vpu_driver/source/utilities/log.hpp" ++#include <algorithm> + + namespace VPU { + +-- +2.43.0 + diff --git a/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver_1.2.0.bb b/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver_1.2.0.bb new file mode 100644 index 00000000..03e409af --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/linux-npu-driver/linux-npu-driver_1.2.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "User Mode Driver for Intel® NPU device" +HOMEPAGE = "https://github.com/intel/linux-npu-driver" +LICENSE = "MIT & Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=37acda99f3f9c108e62d970fe0e08027 \ + file://third-party-programs.txt;md5=dbf0d7a91947cccc5410e9760d9acae5 \ + file://third_party/vpux_elf/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI = "git://github.com/intel/linux-npu-driver.git;protocol=https;name=linux-npu-driver;branch=main;lfs=1 \ + git://github.com/openvinotoolkit/npu_plugin_elf.git;protocol=https;destsuffix=git/third_party/vpux_elf;name=vpux-elf;nobranch=1 \ + git://github.com/jbeder/yaml-cpp.git;protocol=https;destsuffix=git/third_party/yaml-cpp;name=yaml-cpp;nobranch=1 \ + git://github.com/intel/level-zero-npu-extensions.git;protocol=https;destsuffix=git/third_party/level-zero-vpu-extensions;name=lzvext;nobranch=1 \ + git://github.com/google/googletest.git;protocol=https;destsuffix=git/third_party/googletest;name=googletest;nobranch=1 \ + file://0001-Fix-the-compilation-warning-when-using-gcc-13-25.patch \ + file://0002-Fix-compilation-failure-with-GCC-14.patch \ + " + +SRCREV_linux-npu-driver = "9d1dd3daa01ebd97a4ac2e8279ddd6e2cb109244" +SRCREV_vpux-elf = "03878c115d13aa1ce6af5329c5759fc1cc94a3fb" +SRCREV_yaml-cpp = "0579ae3d976091d7d664aa9d2527e0d0cff25763" +SRCREV_lzvext = "0e1c471356a724ef6d176ba027a68e210d90939e" +SRCREV_googletest = "b796f7d44681514f58a683a3a71ff17c94edb0c1" +SRCREV_FORMAT = "linux-npu-driver_vpux-elf_yaml-cpp_lzvext_googletest" + +S = "${WORKDIR}/git" + +inherit cmake + +DEPENDS = "level-zero" + +PACKAGES =+ "${PN}-firmware ${PN}-tests" + +FILES:${PN}-firmware = "${libdir}/firmware/updates/intel/vpu/*" +FILES:${PN}-tests = "${bindir}" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2024.0.0-49819.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2024.0.0-49819.bb new file mode 100644 index 00000000..cedbae1e --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2024.0.0-49819.bb @@ -0,0 +1,54 @@ +SUMMARY = "Intel® oneAPI DPC++/C++ Compiler runtime files" +DESCRIPTION = "The Intel® oneAPI DPC++/C++ Compiler provides optimizations \ +that help your applications run faster on Intel® 64 architectures with support \ +for the latest C, C++, and SYCL language standards. This compiler produces \ +optimized code that can run significantly faster by taking advantage of the \ +ever-increasing core count and vector register width in Intel® Xeon® processors \ +and compatible processors." + +HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html" + +LICENSE="EULA" + +COMPILERMAINVER = "2024.0" + +LIC_FILES_CHKSUM = " \ + file://opt/intel/oneapi/licensing/${COMPILERMAINVER}/licensing/${COMPILERMAINVER}/license.htm;md5=5ff64c6ff3ef98089ed69360e7a84c39 \ + " +COMPILERDOTVER = "2024.0.0-49406" +DEVUTILITVERSION = "2024.0-2024.0.0-49320" +SRC_URI = " \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-runtime-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=dpcpp-runtime \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-common-${COMPILERMAINVER}-${PV}_all.deb;subdir=${BPN};name=dpcpp-common \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-runtime-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=compiler-shared-runtime \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-common-vars-${COMPILERDOTVER}_all.deb;subdir=${BPN};name=common-vars \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-openmp-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=openmp \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-openmp-common-${COMPILERMAINVER}-${PV}_all.deb;subdir=${BPN};name=openmp-common \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-common-licensing-${COMPILERMAINVER}-${COMPILERDOTVER}_all.deb;subdir=${BPN};name=license \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-dev-utilities-${DEVUTILITVERSION}_amd64.deb;subdir=${BPN};name=dev-utils \ + " + +SRC_URI[dpcpp-runtime.sha256sum] = "e24f0ba69daf3f66ceaf23d5e632f183cdb90bac69f65407fdb4407fc9034f33" +SRC_URI[dpcpp-common.sha256sum] = "f5a3db6a725598224edf1099260955aee3e36beadcaed2af5b8b453e873a82fa" +SRC_URI[compiler-shared-runtime.sha256sum] = "bce010cbe076259ddd3feb8e69792869e22fccd5b4e2c9af9e815826f2c1a394" +SRC_URI[common-vars.sha256sum] = "368553c99db1b52060b8225355336778be0b00e5991d0f769c42f891c6328750" +SRC_URI[openmp.sha256sum] = "154ff1e81adfdc872ba1d47bd860de70d62188417c7128422435dfd0ceca62fe" +SRC_URI[openmp-common.sha256sum] = "8217001d78311cbef97dd139e684c6767932b532309c3843ba57d7894d15c07d" +SRC_URI[license.sha256sum] = "9f9c8a12fc0bc82ab5b71e118e66745eff23f42224eba304068225b366cd74b6" +SRC_URI[dev-utils.sha256sum] = "c675d960a5abca361cead9217d6e74adee499ee0a095c4e44092bd710b304d50" + +S = "${WORKDIR}/${BPN}" + +inherit bin_package + +RDEPENDS:${PN} += "virtual-opencl-icd zlib tbb level-zero-loader bash tcsh" +SKIP_FILEDEPS:${PN} = '1' + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +# doesn't have GNU_HASH (didn't pass LDFLAGS?) +INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags already-stripped staticdev rpaths arch useless-rpaths file-rdeps" + +FILES_SOLIBSDEV = "" +BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2024.0.0-49819.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2024.0.0-49819.bb new file mode 100644 index 00000000..90ada087 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2024.0.0-49819.bb @@ -0,0 +1,45 @@ +SUMMARY = "Intel® oneAPI DPC++/C++ Compiler" +DESCRIPTION = "The Intel® oneAPI DPC++/C++ Compiler provides optimizations \ +that help your applications run faster on Intel® 64 architectures with support \ +for the latest C, C++, and SYCL language standards. This compiler produces \ +optimized code that can run significantly faster by taking advantage of the \ +ever-increasing core count and vector register width in Intel® Xeon® processors \ +and compatible processors." + +HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html" + +LICENSE="EULA" + +COMPILERMAINVER = "2024.0" + +LIC_FILES_CHKSUM = " \ + file://opt/intel/oneapi/compiler/${COMPILERMAINVER}/share/doc/compiler/credist.txt;md5=b41f55af9f479b9570fc35b955d5ba1a \ + " + +SRC_URI = " \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-dpcpp-cpp-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=icx-compiler \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=compiler-linker \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-common-${COMPILERMAINVER}-${PV}_all.deb;subdir=${BPN};name=shared-common \ + " + +SRC_URI[icx-compiler.sha256sum] = "0dcbac766d5a1519d4cf393f5a85e71d19024fef65f77638f3f849796b62cd82" +SRC_URI[compiler-linker.sha256sum] = "e00faea6d797934d62143e4aa70b727ce30f80fdf30769d22122b3051140c236" +SRC_URI[shared-common.sha256sum] = "cf490a4a790f349da79e618359598d3b32312ca3b2639e5d4c84e1cfa2745558" + +S = "${WORKDIR}/${BPN}" + +inherit bin_package + +RDEPENDS:${PN} += "intel-oneapi-dpcpp-cpp-runtime" +SKIP_FILEDEPS:${PN} = '1' + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +# doesn't have GNU_HASH (didn't pass LDFLAGS?) +INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags already-stripped file-rdeps staticdev rpaths arch useless-rpaths" + +FILES_SOLIBSDEV = "" + +EXCLUDE_FROM_SHLIBS = "1" +BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/embree/embree_4.3.1.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/embree/embree_4.3.1.bb new file mode 100644 index 00000000..1eeaf339 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/embree/embree_4.3.1.bb @@ -0,0 +1,32 @@ +SUMMARY = "Collection of high-performance ray tracing kernels" +DESCRIPTION = "A collection of high-performance ray tracing kernels \ +intended to graphics application engineers that want to improve the \ +performance of their application." +HOMEPAGE = "https://github.com/embree/embree" + +LICENSE = "Apache-2.0 & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://third-party-programs.txt;md5=f989f5b74cfff0d45d3ccf0e1366cbdc \ + file://common/math/transcendental.h;beginline=6;endline=8;md5=73380bb2ab6613b30b8464f114bd0ca8" + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/embree/embree.git;protocol=https;branch=master" +SRCREV = "daa8de0e714e18ad5e5c9841b67c1950d9c91c51" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +DEPENDS = "tbb jpeg libpng glfw ispc-native" + +EXTRA_OECMAKE += " \ + -DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF \ + -DEMBREE_MAX_ISA=DEFAULT \ + -DEMBREE_TUTORIALS=OFF \ + -DEMBREE_ISPC_SUPPORT=ON \ + -DEMBREE_ZIP_MODE=OFF \ + " + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/ipp/intel-oneapi-ipp_2021.10.0-653.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/ipp/intel-oneapi-ipp_2021.10.0-653.bb new file mode 100644 index 00000000..1841253e --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/ipp/intel-oneapi-ipp_2021.10.0-653.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "Intel® Integrated Performance Primitives are production-ready \ + building blocks for cross-platform performance. Develop high-performance vision, \ + signal, security, and storage applications with this multithreaded software library." +HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html" + +LICENSE = "ISSL" + +MAXVER = "2021.10" + +LIC_FILES_CHKSUM = " \ + file://opt/intel/oneapi/ipp/${MAXVER}/share/doc/ipp/licensing/license.txt;md5=d7cdc92ed6c4de1263da879599ddc3e2 \ + file://opt/intel/oneapi/ipp/${MAXVER}/share/doc/ipp/licensing/third-party-programs.txt;md5=22bd13987911dcf790907041b43081f3 \ + " +SRC_URI = " \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-${MAXVER}-${PV}_amd64.deb;subdir=${BPN};name=ipp \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-common-devel-${MAXVER}-${PV}_all.deb;subdir=${BPN};name=headers \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-common-${MAXVER}-${PV}_all.deb;subdir=${BPN};name=env \ + " + +SRC_URI[ipp.sha256sum] = "b51e45c6e691aa46c7136b0ab61f5abe346388433e017a30cf53fd23e92bea07" +SRC_URI[headers.sha256sum] = "342f37ab2f82bc9f4498435f848ee660591c2488b44d988bf6ee96b2a71fd005" +SRC_URI[env.sha256sum] = "731e8c28a3b8b757730cd874d0941de2eb744856128f24ade59d36c12b415bf6" + +S = "${WORKDIR}/${BPN}" + +COMPATIBLE_HOST:libc-musl = "null" + +inherit bin_package + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_DEFAULT_DEPS = "" + +RDEPENDS:${PN} += "tbb setup-intel-oneapi-env" +INSANE_SKIP:${PN} += "ldflags dev-so" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/mkl/intel-oneapi-mkl_2024.0.0-49656.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/mkl/intel-oneapi-mkl_2024.0.0-49656.bb new file mode 100644 index 00000000..e3e93028 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/mkl/intel-oneapi-mkl_2024.0.0-49656.bb @@ -0,0 +1,74 @@ +SUMMARY = "Intel® oneAPI Math Kernel Library (oneMKL)" +DESCRIPTION = "The Intel® oneAPI Math Kernel Library (oneMKL) is a computing \ + math library of highly optimized and extensively parallelized routines \ + for applications that require maximum performance. oneMKL contains \ + the high-performance optimizations from the full Intel® Math Kernel Library \ + for CPU architectures (with C/Fortran programming language interfaces)\ + and adds to them a set of DPC++ programming language interfaces for \ + achieving performance on various CPU architectures \ + and Intel Graphics Technology for certain key functionalities." +HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html" + +LICENSE = "ISSL" + +MKLMAINVER = "2024.0" + +LIC_FILES_CHKSUM = " \ + file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/license.txt;md5=8510d21bf355a76e378c3216c3929ccd \ + file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs-benchmarks.txt;md5=cb98e1a1f14c05ea85a979ea8982e7a4 \ + file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs-ipp.txt;md5=a4b2bf15e38f5c1267cdafed18bc0b09 \ + file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs-openmp.txt;md5=6b3c1aa2a11393060074c0346ce21e49 \ + file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs-safestring.txt;md5=c3aeee91c6d35a0f0753aed6c2633b82 \ + file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs.txt;md5=27de873e4084d62530fe828406b33ca9 \ + " + +SRC_URI = " \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-${MKLMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=runtime \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-common-devel-${MKLMAINVER}-${PV}_all.deb;subdir=${BPN};name=common-devel \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-devel-${MKLMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=devel \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-common-${MKLMAINVER}-${PV}_all.deb;subdir=${BPN};name=common-vars \ + " + +SRC_URI[runtime.sha256sum] = "10a86e24051d6ef4a80fd839c570e629190638a3c0ac9bcca99ab855f534b959" +SRC_URI[common-devel.sha256sum] = "adbf0ea946f63946d29b7f9c750c38a42ea7a65d8c81655b268aa2c7bb908192" +SRC_URI[devel.sha256sum] = "fab2a6f15e18bfd9b4d425f2703e4e98928c57f52c4feebc9ed886f097062e84" +SRC_URI[common-vars.sha256sum] = "ec2b67813739fa4a2895f63479a41acba2174afe2d0cb8a0c1c9119d1317d8ef" + +S = "${WORKDIR}/${BPN}" + +inherit bin_package + +do_install:append () { + install -d ${D}${bindir} + (cd ${D}${bindir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/bin/* .) + install -d ${D}${libdir} + (cd ${D}${libdir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/lib/intel64/*.so* .) + (cd ${D}${libdir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/lib/intel64/*.a* .) + install -d ${D}${libdir}/pkgconfig + (cd ${D}${libdir}/pkgconfig ; ln -s ../../../opt/intel/oneapi/mkl/${MKLMAINVER}/lib/pkgconfig/* .) + install -d ${D}${libdir}/cmake + (cd ${D}${libdir}/cmake ; ln -s ../../../opt/intel/oneapi/mkl/${MKLMAINVER}/lib/cmake/* .) + + install -d ${D}${includedir} + find ${D}/opt/intel/oneapi/mkl/${MKLMAINVER}/include/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read srcdir; do + install -d ${D}${includedir}/$srcdir + (cd ${D}${includedir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/include/$srcdir/* ./$srcdir/) + done + + find ${D}/opt/intel/oneapi/mkl/${MKLMAINVER}/include/ -mindepth 1 -maxdepth 1 -type f -printf '%f\n' | while read srcfile; do + (cd ${D}${includedir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/include/$srcfile .) + done +} + +AUTO_LIBNAME_PKGS = "" +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +RDEPENDS:${PN} += "bash tbb intel-oneapi-dpcpp-cpp-runtime setup-intel-oneapi-env virtual-opencl-icd" +INSANE_SKIP:${PN} = "ldflags textrel dev-so staticdev arch already-stripped" + +FILES:${PN}-staticdev += "/opt/intel/oneapi/mkl/${MKLMAINVER}/lib/*.a*" + +SKIP_FILEDEPS:${PN} = '1' + +SYSROOT_DIRS += "/opt" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/oidn/oidn_2.1.0.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/oidn/oidn_2.1.0.bb new file mode 100644 index 00000000..4ea6ffbe --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/oidn/oidn_2.1.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Intel® Open Image Denoise" +DESCRIPTION = "Intel Open Image Denoise is an open source library of \ +high-performance, high-quality denoising filters for images \ +rendered with ray tracing. Intel Open Image Denoise is part \ +of the Intel® oneAPI Rendering Toolkit" +HOMEPAGE = "https://www.openimagedenoise.org/" + +LICENSE = "Apache-2.0 & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://external/mkl-dnn/LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \ + file://external/mkl-dnn/src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \ + file://external/mkl-dnn/src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \ + file://weights/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = "https://github.com/OpenImageDenoise/${BPN}/releases/download/v${PV}/${BP}.src.tar.gz\ + " +SRC_URI[sha256sum] = "ce144ba582ff36563d9442ee07fa2a4d249bc85aa93e5b25fc527ff4ee755ed6" + +inherit cmake + +DEPENDS += "tbb ispc-native" + +UPSTREAM_CHECK_URI = "https://github.com/OpenImageDenoise/oidn/releases" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_2.0.1.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_2.0.1.bb new file mode 100644 index 00000000..a2d709a1 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_2.0.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "Intel(R) Open Volume Kernel Library" +DESCRIPTION = "Intel(R) Open Volume Kernel Library (Intel(R) Open VKL) is a \ +collection of high-performance volume computation kernels. The target users \ +of Open VKL are graphics application engineers who want to improve the \ +performance of their volume rendering applications by leveraging Open VKL’s \ +performance-optimized kernels, which include volume traversal and sampling \ +functionality for a variety of volumetric data formats. The kernels are optimized \ +for the latest Intel(R) processors with support for SSE, AVX, AVX2, and AVX-512 \ +instructions." +HOMEPAGE = "https://www.openvkl.org/" + +LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://third-party-programs.txt;md5=69ec7caf49616c471161b921f53d5ec0 \ + file://testing/external/half.hpp;beginline=1;endline=17;md5=4b60058493630c3bd0ef145470f04a7b" + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/openvkl/openvkl.git;protocol=https;branch=master \ + " +SRCREV = "8c6ba526813b871a624cb9d73d4cbb689ac7f4ce" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +DEPENDS = "ispc ispc-native rkcommon embree" + +EXTRA_OECMAKE += " \ + -DISPC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/ispc \ + " +EXTRA_OECMAKE:intel-corei7-64 += " \ + -DOPENVKL_ISA_AVX=OFF \ + -DOPENVKL_ISA_AVX2=OFF \ + -DOPENVKL_ISA_AVX512SKX=OFF \ + " + +PACKAGES =+ "${PN}-examples" +FILES:${PN}-examples = "\ + ${bindir} \ + " diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray/0001-Fix-GCC11-Compile-Error-in-benchmark_register.h.patch b/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray/0001-Fix-GCC11-Compile-Error-in-benchmark_register.h.patch new file mode 100644 index 00000000..c2136321 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray/0001-Fix-GCC11-Compile-Error-in-benchmark_register.h.patch @@ -0,0 +1,28 @@ +From 09e6b6615d9a16e9555eff9d569356e32bd26aa4 Mon Sep 17 00:00:00 2001 +From: benradel <86351445+benradel@users.noreply.github.com> +Date: Wed, 23 Jun 2021 11:56:03 +0200 +Subject: [PATCH] Fix GCC11 Compile Error in benchmark_register.h + +Fix GCC11 compilation error due to missing header "limits" in benchmark_register.h + +Upstream-Status: Submitted [https://github.com/ospray/ospray/pull/484/files] +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + apps/common/external/benchmark/src/benchmark_register.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/apps/common/external/benchmark/src/benchmark_register.h b/apps/common/external/benchmark/src/benchmark_register.h +index 61377d742..8f1bb7795 100644 +--- a/apps/common/external/benchmark/src/benchmark_register.h ++++ b/apps/common/external/benchmark/src/benchmark_register.h +@@ -2,6 +2,7 @@ + #define BENCHMARK_REGISTER_H + + #include <vector> ++#include <limits> + + #include "check.h" + +-- +2.32.0 + diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray_3.1.0.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray_3.1.0.bb new file mode 100644 index 00000000..3e03dcc2 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray_3.1.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Intel OSPray, Ray Tracing based Rendering Engine" +DESCRIPTION = "Intel OSPRay is an open source, scalable, and portable ray \ +tracing engine for high-performance, high-fidelity visualization on \ +Intel Architecture CPUs." +HOMEPAGE = "https://www.ospray.org/" + +LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1dece7821bf3fd70fe1309eaa37d52a2 \ + file://third-party-programs.txt;md5=e37b77e3bd997abccc359c710fb1f1db \ + " + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/ospray/ospray.git;protocol=https;branch=master \ + " +SRCREV = "f2a61c2eb58ccd666e34abfdb0fd7049ea073194" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +DEPENDS = "rkcommon ispc ispc-native openvkl embree" + +EXTRA_OECMAKE += " \ + -DISPC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/ispc \ + -DOSPRAY_ENABLE_APPS_BENCHMARK=OFF \ + -DOSPRAY_ENABLE_APPS_TESTING=OFF \ + -DOSPRAY_ENABLE_APPS_EXAMPLES=OFF \ + " + +PACKAGES =+ "${PN}-apps" +FILES:${PN}-apps = "\ + ${bindir} \ + " + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/rkcommon/rkcommon_1.13.0.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/rkcommon/rkcommon_1.13.0.bb new file mode 100644 index 00000000..fe6b23ea --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/rkcommon/rkcommon_1.13.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "rkcommon - C++/CMake infrastructure" +DESCRIPTION = "A common set of C++ infrastructure and CMake utilities \ +used by various components of Intel® oneAPI Rendering Toolkit." +HOMEPAGE = "https://github.com/ospray/rkcommon" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/ospray/rkcommon.git;protocol=https;branch=master \ + " +SRCREV = "7ebfa0765ea590767202b328e7da38102c2f5a15" + +DEPENDS = "tbb" + +EXTRA_OECMAKE += " -DBUILD_TESTING=OFF" diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch new file mode 100644 index 00000000..4474aa3c --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch @@ -0,0 +1,38 @@ +From ef56be8e6bf2ea273cbeb960f3131164e7b517b6 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Wed, 18 May 2022 12:24:03 +0800 +Subject: [PATCH] CMakeLists: disable Werror + +gcc12 highlights minor warnings that cause the build to fail. Ignore +those until they aren't fixed upstream. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 418483f7..c019fea0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -146,7 +146,7 @@ else() + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fno-strict-aliasing -D_FORTIFY_SOURCE=2") + if(LNX_BUILD) + #A few warnings yet to resolve under esx +- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Werror") ++ #set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Werror") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Werror") + endif() + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ggdb") +@@ -791,4 +791,4 @@ if(ESX_BUILD) + include(CMake/esx.cmake) + endif() + +-add_subdirectory(src/os/nvm_api_sample) +\ No newline at end of file ++add_subdirectory(src/os/nvm_api_sample) +-- +2.35.3 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch new file mode 100644 index 00000000..11305e83 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch @@ -0,0 +1,59 @@ +Subject: [PATCH] [PATCH]: ignore static asserts and null define for os and ut + builds +Upstream-Status: Backport +Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com> +--- + MdePkg/Include/Base.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h +index d209e6de28..6e61b8f3d3 100644 +--- a/MdePkg/Include/Base.h ++++ b/MdePkg/Include/Base.h +@@ -316,8 +316,12 @@ struct _LIST_ENTRY { + #define NULL __null + #endif + #else ++#ifndef OS_BUILD ++#ifndef UNIT_TEST_UEFI_BUILD + #define NULL ((VOID *) 0) + #endif ++#endif ++#endif + + // + // Null character +@@ -779,6 +783,8 @@ typedef UINTN *BASE_LIST; + // Section 2.3.1 of the UEFI 2.3 Specification. + // + ++#ifndef OS_BUILD ++#ifndef UNIT_TEST_UEFI_BUILD + STATIC_ASSERT (sizeof (BOOLEAN) == 1, "sizeof (BOOLEAN) does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (INT8) == 1, "sizeof (INT8) does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (UINT8) == 1, "sizeof (UINT8) does not meet UEFI Specification Data Type requirements"); +@@ -792,6 +798,8 @@ STATIC_ASSERT (sizeof (CHAR8) == 1, "sizeof (CHAR8) does not meet UEFI Specifi + STATIC_ASSERT (sizeof (CHAR16) == 2, "sizeof (CHAR16) does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (L'A') == 2, "sizeof (L'A') does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (L"A") == 4, "sizeof (L\"A\") does not meet UEFI Specification Data Type requirements"); ++#endif ++#endif + + // + // The following three enum types are used to verify that the compiler +@@ -812,9 +820,13 @@ typedef enum { + __VerifyUint32EnumValue = 0xffffffff + } __VERIFY_UINT32_ENUM_SIZE; + ++#ifndef OS_BUILD ++#ifndef UNIT_TEST_UEFI_BUILD + STATIC_ASSERT (sizeof (__VERIFY_UINT8_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (__VERIFY_UINT16_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (__VERIFY_UINT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); ++#endif ++#endif + + /** + Macro that returns a pointer to the data structure that contains a specified field of +-- +2.37.3 diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb new file mode 100644 index 00000000..c4743d1c --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb @@ -0,0 +1,47 @@ +SUMMARY = "Utility for managing Intel Optane DC persistent memory modules" +DESCRIPTION = "Utility for configuring and managing Intel Optane Persistent \ +Memory modules (PMem). It supports functionality to: \ +Discover DCPMMs on the platform. \ +Provision the platform memory configuration. \ +View and update the firmware on DCPMMs. \ +Configure data-at-rest security on DCPMMs. \ +Track health and performance of DCPMMs. \ +Debug and troubleshoot DCPMMs." + +HOMEPAGE = "https://github.com/intel/ipmctl" +BUGTRACKER = "https://github.com/intel/ipmctl/issues" + +LICENSE = "BSD-3-Clause | BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=72b9da60da6219d612ce30b746a0fe71 \ + file://edk2/License.txt;md5=6123e5bf044a66db96c4ce88a36b2d08" + +SRC_URI = "git://github.com/intel/ipmctl.git;protocol=https;branch=master;name=ipmctl; \ + git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=git/edk2;branch=master \ + file://0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch;patchdir=edk2 \ + file://0001-CMakeLists-disable-Werror.patch \ +" + +SRCREV_ipmctl = "c75bd840ea7820c8f93a5488fcff75d08beedd51" +#tag edk2-stable202302 +SRCREV_edk2 = "f80f052277c88a67c55e107b550f504eeea947d3" +SRCREV_FORMAT = "ipmctl_edk2" + +S = "${WORKDIR}/git" + +inherit cmake dos2unix + +DEPENDS = "ndctl pkgconfig-native" + +EXTRA_OECMAKE = "-DRELEASE=ON" + +do_configure:prepend() { + for dir in BaseTools MdeModulePkg MdePkg ShellPkg ; do + ln -sf edk2/${dir} ${S} + done +} + +do_install:append() { + # Remove /var/log/ipmctl as anything created in /var/log will not be + # available when tmpfs is mounted at /var/volatile/log. + rm -rf ${D}${localstatedir}/log +} diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/dldt-inference-engine_2019r3.1.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/dldt-inference-engine_2019r3.1.bb deleted file mode 100644 index b9767517..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/dldt-inference-engine_2019r3.1.bb +++ /dev/null @@ -1,122 +0,0 @@ -SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit" -HOMEPAGE = "https://github.com/opencv/dldt" -DESCRIPTION = "This toolkit allows developers to deploy pre-trained \ -deep learning models through a high-level C++ Inference Engine API \ -integrated with application logic." - -SRC_URI = "git://github.com/opencv/dldt.git;protocol=git;branch=2019 \ - https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_ma2450_759W.zip;name=ma2450 \ - https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_ma2x8x_mdk_R9.8.zip;name=ma2x8x \ - https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_mv0262_mdk_R9.8.zip;name=mv0262 \ - file://0001-R2-Build-fixes.patch;patchdir=.. \ - file://0002-R2-Install-DLDT-headers-libs-sample-Apps.patch;patchdir=.. \ - file://0003-use-GNUInstallDirs-on-nix.patch;patchdir=.. \ - file://0004-disable-werror.patch;patchdir=.. \ - file://0005-point-to-correct-location-of-ngraph-headers.patch;patchdir=.. \ - file://0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch;patchdir=.. \ - file://0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch;patchdir=.. \ - file://0008-Simplify-searching-for-firmware-files.patch;patchdir=.. \ - file://run-ptest \ - " -SRCREV = "fe3f978b98c86eaeed3cbdc280e1ffd0bc50d278" - -SRC_URI[ma2450.md5sum] = "852f80c3248c451a6c8bfd96d871318f" -SRC_URI[ma2450.sha256sum] = "ba1b23b45cd8e548ead77af49b0e378100cf4f8dcda41a491868d3d4e7bf8cba" - -SRC_URI[ma2x8x.md5sum] = "2d9ca6894cdd25e9b10f7908c415dbc9" -SRC_URI[ma2x8x.sha256sum] = "961ce4c7b14823a528185f5e75b3b6898a7e8f866b4b5b8af5f4f05f72226909" - -SRC_URI[mv0262.md5sum] = "c495f0ee0313e9d8d993e846a7868c4f" -SRC_URI[mv0262.sha256sum] = "0c0c8d7782f49dd4928837b52b4b6f25c1b088bfee23e464729057a28323ab77" - -LICENSE = "Apache-2.0 & ISSL" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ - file://../../ISSL.txt;md5=ab31aad35d740d800ae1e332d6290f50 \ -" -LICENSE_${PN}-vpu-firmware = "ISSL" - -inherit cmake ptest python3native - -S = "${WORKDIR}/git/inference-engine" - -EXTRA_OECMAKE += " \ - -DENABLE_OPENCV=0 \ - -DENABLE_SAMPLES_CORE=1 \ - -DENABLE_PLUGIN_RPATH=0 \ - -DENABLE_GNA=0 \ - -DPYTHON_EXECUTABLE=${PYTHON} \ - -DTHREADING=TBB \ - -DCMAKE_BUILD_TYPE=DebugWithRelInfo \ - -DNGRAPH_INCLUDES=${STAGING_INCDIR}/ngraph \ - -DENABLE_TESTS="${@bb.utils.contains('PTEST_ENABLED', '1', '1', '0', d)}" \ - -DBUILD_GMOCK=1 \ - -DBUILD_GTEST=0 \ - -DINSTALL_GMOCK=0 \ - -DINSTALL_GTEST=0 \ - " - -DEPENDS += "libusb1 \ - ade \ - opencv \ - pugixml \ - ngraph \ - tbb \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'gflags', '0', d)} \ - " - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" - -PACKAGECONFIG ?= "vpu" -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, opencl-icd-loader, opencl-icd-loader intel-compute-runtime" -PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR}, -DENABLE_PYTHON=OFF, python3-cython-native, python3" -PACKAGECONFIG[vpu] = "-DENABLE_VPU=ON -DVPU_FIRMWARE_MA2450_FILE=../mvnc/MvNCAPI-ma2450.mvcmd -DVPU_FIRMWARE_MA2X8X_FILE=../mvnc/MvNCAPI-ma2x8x.mvcmd -DVPU_FIRMWARE_MV0262_FILE=../mvnc/MvNCAPI-mv0262.mvcmd,-DENABLE_VPU=OFF,,${PN}-vpu-firmware" -PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0" - -do_install_append() { - if ${@bb.utils.contains('PACKAGECONFIG', 'vpu', 'true', 'false', d)}; then - install -m0644 ${WORKDIR}/mvnc/MvNCAPI-ma2450.mvcmd ${D}${libdir} - install -m0644 ${WORKDIR}/mvnc/MvNCAPI-ma2x8x.mvcmd ${D}${libdir} - install -m0644 ${WORKDIR}/mvnc/MvNCAPI-mv0262.mvcmd ${D}${libdir} - - install -D -m0644 ${S}/thirdparty/movidius/mvnc/src/97-myriad-usbboot.rules ${D}${sysconfdir}/udev/rules.d/97-myriad-usbboot.rules - fi - - if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true', 'false', d)}; then - cp -r ${S}/src/cldnn_engine/cldnn_global_custom_kernels ${D}${libdir}/ - fi -} - -do_install_ptest_base_prepend() { - # While not a Makefile based project that strictly falls into the category of - # what ptest helps with, adding the unit tests here as ptest would help. - # Create a dummy Makefile so installation doesn't fail. - touch ${WORKDIR}/Makefile - mv ${D}${bindir}/InferenceEngineUnitTests ${D}${PTEST_PATH}/ - mv ${D}${libdir}/libmock_engine.so ${D}${PTEST_PATH}/ -} - -# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR -# instead of RSS -SSTATE_SCAN_FILES_append = " *.cmake" - -FILES_${PN}-dev = "${includedir} \ - ${libdir}/cmake \ - ${libdir}/libinference_engine.so \ - " - -FILES_${PN} += "${libdir}/lib*${SOLIBSDEV} \ - ${datadir}/openvino \ - ${libdir}/cldnn_global_custom_kernels \ - " - -# Move inference engine samples into a separate package -PACKAGES =+ "${PN}-samples ${PN}-vpu-firmware" - -FILES_${PN}-samples = "${bindir}" -FILES_${PN}-vpu-firmware += "${libdir}/*.mvcmd" - -# Package for inference engine python API -PACKAGES =+ "${PN}-${PYTHON_PN}" - -FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}/openvino" diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-R2-Build-fixes.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-R2-Build-fixes.patch deleted file mode 100644 index 39d40983..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-R2-Build-fixes.patch +++ /dev/null @@ -1,235 +0,0 @@ -From 8a5804c723c5bd396e5029f254f866f19a679cc5 Mon Sep 17 00:00:00 2001 -From: Erin Park <erin.park@intel.com> -Date: Wed, 11 Sep 2019 09:04:23 -0700 -Subject: [PATCH 1/7] R2 Build fixes - --Update to R3 --linux os-release name search --Use system libraries for (OMP/TBB) --Use system libraries for ngraph, ade, puigxml, gflags --Turn on ENABLE_PYTHON - -Upstream-Status: Pending [Taken from Clear Linux and updated to R3] -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com> ---- - inference-engine/CMakeLists.txt | 4 +++ - inference-engine/cmake/dependencies.cmake | 30 ++++++++++++---------- - inference-engine/cmake/developer_package.cmake | 12 ++++----- - inference-engine/cmake/ie_parallel.cmake | 6 ++--- - inference-engine/cmake/linux_name.cmake | 2 +- - inference-engine/samples/CMakeLists.txt | 2 -- - .../src/inference_engine/CMakeLists.txt | 5 ++-- - inference-engine/thirdparty/CMakeLists.txt | 9 ------- - 8 files changed, 34 insertions(+), 36 deletions(-) - -diff --git a/inference-engine/CMakeLists.txt b/inference-engine/CMakeLists.txt -index f41d9df..a282cb4 100644 ---- a/inference-engine/CMakeLists.txt -+++ b/inference-engine/CMakeLists.txt -@@ -62,6 +62,10 @@ add_cpplint_target(sample_cpplint - EXCLUDE_PATTERNS "thirdparty/*" "pugixml/*") - - if (ENABLE_PYTHON) -+ set(InferenceEngine_DIR "${CMAKE_BINARY_DIR}") -+ -+ #to be able to link -+ set (LIB_FOLDER ${IE_MAIN_SOURCE_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) - add_subdirectory(ie_bridges/python) - endif() - -diff --git a/inference-engine/cmake/dependencies.cmake b/inference-engine/cmake/dependencies.cmake -index 682f2e5..36c3f4d 100644 ---- a/inference-engine/cmake/dependencies.cmake -+++ b/inference-engine/cmake/dependencies.cmake -@@ -51,11 +51,11 @@ if (THREADING STREQUAL "OMP") - ENVIRONMENT "OMP" - VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*") - elseif(LINUX) -- RESOLVE_DEPENDENCY(OMP -- ARCHIVE_LIN "iomp.tgz" -- TARGET_PATH "${TEMP}/omp" -- ENVIRONMENT "OMP" -- VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*") -+ #RESOLVE_DEPENDENCY(OMP -+ # ARCHIVE_LIN "iomp.tgz" -+ # TARGET_PATH "${TEMP}/omp" -+ # ENVIRONMENT "OMP" -+ # VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*") - else(APPLE) - RESOLVE_DEPENDENCY(OMP - ARCHIVE_MAC "iomp_20190130_mac.tgz" -@@ -63,8 +63,10 @@ if (THREADING STREQUAL "OMP") - ENVIRONMENT "OMP" - VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*") - endif() -- log_rpath_from_dir(OMP "${OMP}/lib") -- debug_message(STATUS "intel_omp=" ${OMP}) -+ if (NOT LINUX) -+ log_rpath_from_dir(OMP "${OMP}/lib") -+ debug_message(STATUS "intel_omp=" ${OMP}) -+ endif () - endif () - - ## TBB package -@@ -77,10 +79,10 @@ if (THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") - ENVIRONMENT "TBBROOT" - VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*") - elseif(LINUX) -- RESOLVE_DEPENDENCY(TBB -- ARCHIVE_LIN "tbb2019_20181010_lin.tgz" -- TARGET_PATH "${TEMP}/tbb" -- ENVIRONMENT "TBBROOT") -+ #RESOLVE_DEPENDENCY(TBB -+ # ARCHIVE_LIN "tbb2019_20181010_lin.tgz" -+ # TARGET_PATH "${TEMP}/tbb" -+ # ENVIRONMENT "TBBROOT") - else(APPLE) - RESOLVE_DEPENDENCY(TBB - ARCHIVE_MAC "tbb2019_20190414_v1_mac.tgz" -@@ -88,8 +90,10 @@ if (THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") - ENVIRONMENT "TBBROOT" - VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*") - endif() -- log_rpath_from_dir(TBB "${TBB}/lib") -- debug_message(STATUS "tbb=" ${TBB}) -+ if (NOT LINUX) -+ log_rpath_from_dir(TBB "${TBB}/lib") -+ debug_message(STATUS "tbb=" ${TBB}) -+ endif () - endif () - - if (ENABLE_OPENCV) -diff --git a/inference-engine/cmake/developer_package.cmake b/inference-engine/cmake/developer_package.cmake -index a27143d..950ccf4 100644 ---- a/inference-engine/cmake/developer_package.cmake -+++ b/inference-engine/cmake/developer_package.cmake -@@ -93,12 +93,12 @@ if(NOT UNIX) - set(LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}) - set(LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}) # compatibility issue: linux uses LIBRARY_OUTPUT_PATH, windows uses LIBRARY_OUTPUT_DIRECTORY - else() -- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) -- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) -- set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -- set(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -- set(LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) -+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) -+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) -+ set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -+ set(CMAKE_PDB_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -+ set(LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) - set(LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}/lib) - endif() - -diff --git a/inference-engine/cmake/ie_parallel.cmake b/inference-engine/cmake/ie_parallel.cmake -index 97e8c5e..9b03652 100644 ---- a/inference-engine/cmake/ie_parallel.cmake -+++ b/inference-engine/cmake/ie_parallel.cmake -@@ -36,8 +36,8 @@ function(set_ie_threading_interface_for TARGET_NAME) - endif () - - if (NOT TBB_INCLUDE_DIRS OR NOT TBB_LIBRARIES_RELEASE) -- find_path(TBB_INCLUDE_DIRS tbb/tbb.h ${incl_path} NO_DEFAULT_PATH) -- find_library(TBB_LIBRARIES_RELEASE tbb ${lib_rel_path} NO_DEFAULT_PATH) -+ find_path(TBB_INCLUDE_DIRS tbb/tbb.h) -+ find_library(TBB_LIBRARIES_RELEASE tbb) - ext_message(STATUS "TBB include: ${TBB_INCLUDE_DIRS}") - ext_message(STATUS "TBB Release lib: ${TBB_LIBRARIES_RELEASE}") - if (NOT LINUX) -@@ -98,7 +98,7 @@ function(set_ie_threading_interface_for TARGET_NAME) - endif () - - if (NOT OMP_LIBRARIES_RELEASE) -- find_library(OMP_LIBRARIES_RELEASE ${omp_lib_name} ${lib_rel_path} NO_DEFAULT_PATH) -+ find_library(OMP_LIBRARIES_RELEASE ${omp_lib_name}) - ext_message(STATUS "OMP Release lib: ${OMP_LIBRARIES_RELEASE}") - if (NOT LINUX) - find_library(OMP_LIBRARIES_DEBUG ${omp_lib_name} ${lib_dbg_path} NO_DEFAULT_PATH) -diff --git a/inference-engine/cmake/linux_name.cmake b/inference-engine/cmake/linux_name.cmake -index 6713808..7e5e47a 100644 ---- a/inference-engine/cmake/linux_name.cmake -+++ b/inference-engine/cmake/linux_name.cmake -@@ -5,7 +5,7 @@ - if (LINUX) - function(get_linux_name res_var) - if (NOT EXISTS "/etc/lsb-release") -- execute_process(COMMAND find -L /etc/ -maxdepth 1 -type f -name *-release -exec cat {} \; -+ execute_process(COMMAND find /usr/lib/ /etc/ -maxdepth 1 -type f -name *-release -exec cat {} \; - OUTPUT_VARIABLE release_data RESULT_VARIABLE result) - set(name_regex "NAME=\"([^ \"\n]*).*\"\n") - set(version_regex "VERSION=\"([0-9]+(\\.[0-9]+)?)[^\n]*\"") -diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt -index d3a094c..884b0a6 100644 ---- a/inference-engine/samples/CMakeLists.txt -+++ b/inference-engine/samples/CMakeLists.txt -@@ -91,8 +91,6 @@ set (GFLAGS_IS_SUBPROJECT TRUE) - set (HAVE_SYS_STAT_H 1) - set (HAVE_INTTYPES_H 1) - --add_subdirectory(thirdparty/gflags) -- - if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") - endif() -diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt -index f4b34ad..2604c32 100644 ---- a/inference-engine/src/inference_engine/CMakeLists.txt -+++ b/inference-engine/src/inference_engine/CMakeLists.txt -@@ -116,6 +116,7 @@ target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR} - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src") - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src") - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ocv") -+include_directories(${TARGET_NAME} "/usr/include/ngraph") - - if(ENABLE_MKL_DNN) - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/src/cpu/xbyak") -@@ -125,7 +126,7 @@ if(ENABLE_UNICODE_PATH_SUPPORT) - target_compile_definitions(${TARGET_NAME} PUBLIC ENABLE_UNICODE_PATH_SUPPORT) - endif() - --set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}) -+set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME} SOVERSION 1) - - # Static library used for unit tests which are always built - -@@ -159,7 +160,7 @@ if(ENABLE_UNICODE_PATH_SUPPORT) - target_compile_definitions(${TARGET_NAME}_s PUBLIC ENABLE_UNICODE_PATH_SUPPORT) - endif() - --set_target_properties(${TARGET_NAME}_s PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}_s) -+set_target_properties(${TARGET_NAME}_s PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}_s SOVERSION 1) - - target_link_libraries(${TARGET_NAME}_s PRIVATE fluid - PRIVATE ngraph -diff --git a/inference-engine/thirdparty/CMakeLists.txt b/inference-engine/thirdparty/CMakeLists.txt -index 54de20f..4ea20f5 100644 ---- a/inference-engine/thirdparty/CMakeLists.txt -+++ b/inference-engine/thirdparty/CMakeLists.txt -@@ -35,10 +35,6 @@ function(build_with_lto) - set(CMAKE_RANLIB "gcc-ranlib") - endif() - -- add_subdirectory(pugixml) -- export(TARGETS pugixml NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets.cmake") -- export(TARGETS pugixml NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake") -- - if (TARGET pugixml_mt) - export(TARGETS pugixml_mt NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets.cmake") - export(TARGETS pugixml_mt NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake") -@@ -46,11 +42,6 @@ function(build_with_lto) - - add_subdirectory(stb_lib) - -- add_subdirectory(ade) -- export(TARGETS ade NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake") -- -- include(ngraph.cmake) -- - add_subdirectory(fluid/modules/gapi) - export(TARGETS fluid NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake") - endfunction() --- -2.7.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-yocto-specific-tweaks-to-the-build-process.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-yocto-specific-tweaks-to-the-build-process.patch new file mode 100644 index 00000000..7f5b46c6 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-yocto-specific-tweaks-to-the-build-process.patch @@ -0,0 +1,86 @@ +From e4edbdae9a2dbfec6fd0706bdfff8abdfe3363fc Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Wed, 29 Nov 2023 12:42:57 +0530 +Subject: [PATCH] cmake: yocto specific tweaks to the build process + +* Dont try to detect glibc version as that doesn't work when cross compiling. +* Dont try to detect CXX11_ABI +* Install sample binaries as well. +* Dont try to write triggers for CPack. We package ourselves. +* Fix the installation path for Python modules when baselib = lib64. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + cmake/developer_package/packaging/rpm/rpm.cmake | 2 +- + cmake/developer_package/target_flags.cmake | 4 ++-- + samples/cpp/CMakeLists.txt | 6 +++--- + src/bindings/python/CMakeLists.txt | 2 +- + 4 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/cmake/developer_package/packaging/rpm/rpm.cmake b/cmake/developer_package/packaging/rpm/rpm.cmake +index 99f11730983..1a1f61fcd3d 100644 +--- a/cmake/developer_package/packaging/rpm/rpm.cmake ++++ b/cmake/developer_package/packaging/rpm/rpm.cmake +@@ -156,7 +156,7 @@ ov_rpm_specific_settings() + # needed to add triggers for packages with libraries + set(def_triggers "${OpenVINO_BINARY_DIR}/_CPack_Packages/triggers") + set(triggers_content "# /bin/sh -p\n/sbin/ldconfig\n") +-file(WRITE "${def_triggers}" "${triggers_content}") ++#file(WRITE "${def_triggers}" "${triggers_content}") + + # + # Functions helpful for packaging your modules with RPM cpack +diff --git a/cmake/developer_package/target_flags.cmake b/cmake/developer_package/target_flags.cmake +index d047a1aebd9..4e8ca68c60f 100644 +--- a/cmake/developer_package/target_flags.cmake ++++ b/cmake/developer_package/target_flags.cmake +@@ -149,7 +149,7 @@ function(ov_glibc_version) + endif() + endfunction() + +-ov_glibc_version() ++#ov_glibc_version() + + # + # Detects default value for _GLIBCXX_USE_CXX11_ABI for current compiler +@@ -160,4 +160,4 @@ macro(ov_get_glibcxx_use_cxx11_abi) + endif() + endmacro() + +-ov_get_glibcxx_use_cxx11_abi() ++#ov_get_glibcxx_use_cxx11_abi() +diff --git a/samples/cpp/CMakeLists.txt b/samples/cpp/CMakeLists.txt +index 4d33bff944e..3e7f1458578 100644 +--- a/samples/cpp/CMakeLists.txt ++++ b/samples/cpp/CMakeLists.txt +@@ -206,9 +206,9 @@ macro(ov_add_sample) + target_link_libraries(${SAMPLE_NAME} PRIVATE ${ov_link_libraries} Threads::Threads ${SAMPLE_DEPENDENCIES}) + + install(TARGETS ${SAMPLE_NAME} +- RUNTIME DESTINATION samples_bin/ +- COMPONENT samples_bin +- EXCLUDE_FROM_ALL) ++ DESTINATION ${CMAKE_INSTALL_BINDIR} ++ COMPONENT samples_bin) ++ + + # create global target with all samples / demo apps + if(NOT TARGET ov_samples) +diff --git a/src/bindings/python/CMakeLists.txt b/src/bindings/python/CMakeLists.txt +index 6cf43ec3fed..d539b9d003f 100644 +--- a/src/bindings/python/CMakeLists.txt ++++ b/src/bindings/python/CMakeLists.txt +@@ -320,7 +320,7 @@ if(ENABLE_PYTHON_PACKAGING) + # install OpenVINO Python API + + set(python_package_prefix "${CMAKE_CURRENT_BINARY_DIR}/install_${pyversion}") +- set(install_lib "${python_package_prefix}/lib/${python_versioned_folder}/${ov_site_packages}") ++ set(install_lib "${python_package_prefix}/${CMAKE_INSTALL_LIBDIR}/${python_versioned_folder}/${ov_site_packages}") + set(openvino_meta_info_subdir "openvino-${OpenVINO_VERSION}-py${python_xy}.egg-info") + set(openvino_meta_info_file "${install_lib}/${openvino_meta_info_subdir}/PKG-INFO") + +-- +2.34.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-R2-Install-DLDT-headers-libs-sample-Apps.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-R2-Install-DLDT-headers-libs-sample-Apps.patch deleted file mode 100644 index 8b563b1c..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-R2-Install-DLDT-headers-libs-sample-Apps.patch +++ /dev/null @@ -1,267 +0,0 @@ -From d73cd3c504e1409861da0b6879ea0dbd4572e706 Mon Sep 17 00:00:00 2001 -From: Erin Park <erin.park@intel.com> -Date: Wed, 11 Sep 2019 10:33:58 -0700 -Subject: [PATCH 2/7] R2 Install DLDT headers, libs, sample Apps - --Update to R3 --Libraries to /usr/lib64 --Headers to /usr/include --Sample Apps executable to /usr/bin --Sample Apps source code to /usr/share/doc/inference_engine --Python library to /usr/lib/python3.7/site-packages --plugins.xml to /usr/share/openvino/inference-engine --Create targets_cpu_extension.cmake - -Upstream-Status: Pending [Taken from Clear Linux with changes to install -libs at CMAKE_INSTALL_LIBDIR instead of hardcoded lib64 and update to R3] -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com> ---- - inference-engine/CMakeLists.txt | 2 ++ - inference-engine/cmake/config.cmake.in | 1 + - inference-engine/ie_bridges/python/CMakeLists.txt | 2 +- - .../src/openvino/inference_engine/CMakeLists.txt | 4 +++- - inference-engine/samples/CMakeLists.txt | 9 +------- - .../samples/common/format_reader/CMakeLists.txt | 2 ++ - inference-engine/src/CMakeLists.txt | 4 +++- - inference-engine/src/extension/CMakeLists.txt | 5 ++++- - inference-engine/src/hetero_plugin/CMakeLists.txt | 2 ++ - .../src/inference_engine/CMakeLists.txt | 25 ++++++++++++++++++---- - .../src/inference_engine/ie_util_internal.cpp | 7 +++--- - inference-engine/src/mkldnn_plugin/CMakeLists.txt | 1 + - .../src/vpu/myriad_plugin/CMakeLists.txt | 2 ++ - inference-engine/tests/unit/CMakeLists.txt | 2 ++ - 14 files changed, 49 insertions(+), 19 deletions(-) - -diff --git a/inference-engine/CMakeLists.txt b/inference-engine/CMakeLists.txt -index a282cb4..abb4de4 100644 ---- a/inference-engine/CMakeLists.txt -+++ b/inference-engine/CMakeLists.txt -@@ -70,3 +70,5 @@ if (ENABLE_PYTHON) - endif() - - add_cpplint_report_target() -+ -+install(DIRECTORY samples DESTINATION share/doc/inference_engine) -diff --git a/inference-engine/cmake/config.cmake.in b/inference-engine/cmake/config.cmake.in -index ebe82ee..0d7e6a4 100644 ---- a/inference-engine/cmake/config.cmake.in -+++ b/inference-engine/cmake/config.cmake.in -@@ -7,6 +7,7 @@ if(DEFINED IE_MAIN_SOURCE_DIR AND TARGET inference_engine) - set(InferenceEngine_LIBRARIES inference_engine) - else() - include("${CMAKE_CURRENT_LIST_DIR}/targets.cmake") -+ include("${CMAKE_CURRENT_LIST_DIR}/targets_cpu_extension.cmake") - if(NOT WIN32) - set_target_properties(IE::inference_engine PROPERTIES INTERFACE_COMPILE_OPTIONS "-Wno-error=deprecated-declarations") - endif() -diff --git a/inference-engine/ie_bridges/python/CMakeLists.txt b/inference-engine/ie_bridges/python/CMakeLists.txt -index bba853f..444cce9 100644 ---- a/inference-engine/ie_bridges/python/CMakeLists.txt -+++ b/inference-engine/ie_bridges/python/CMakeLists.txt -@@ -53,4 +53,4 @@ endif() - - set (PYTHON_BRIDGE_SRC_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) - add_subdirectory (src/openvino/inference_engine) --add_subdirectory (src/openvino/tools/statistics_collector) -+#add_subdirectory (src/openvino/tools/statistics_collector) -diff --git a/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt b/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt -index 1f46013..d6cd112 100644 ---- a/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt -+++ b/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt -@@ -29,4 +29,6 @@ ADD_CUSTOM_COMMAND (TARGET ${TARGET_NAME} - COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/src/openvino/inference_engine/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/__init__.py - COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/requirements.txt ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../../requirements.txt - COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/src/openvino/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../__init__.py --) -\ No newline at end of file -+) -+ -+install(DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY} DESTINATION lib/${PYTHON_VERSION}/site-packages/) -diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt -index 884b0a6..25f9f23 100644 ---- a/inference-engine/samples/CMakeLists.txt -+++ b/inference-engine/samples/CMakeLists.txt -@@ -39,14 +39,6 @@ if(NOT(UNIX)) - set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}) - set (LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}) - set (LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}) # compatibility issue: linux uses LIBRARY_OUTPUT_PATH, windows uses LIBRARY_OUTPUT_DIRECTORY --else () -- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) -- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) -- set (CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -- set (CMAKE_PDB_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}) -- set (LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib) -- set (LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}/lib) - endif() - - if (WIN32) -@@ -188,6 +180,7 @@ macro(ie_add_sample) - if(COMMAND add_cpplint_target AND NOT IE_SAMPLE_EXCLUDE_CPPLINT) - add_cpplint_target(${IE_SAMPLE_NAME}_cpplint FOR_TARGETS ${IE_SAMPLE_NAME}) - endif() -+ install(TARGETS ${IE_SAMPLE_NAME} DESTINATION bin) - endmacro() - - -diff --git a/inference-engine/samples/common/format_reader/CMakeLists.txt b/inference-engine/samples/common/format_reader/CMakeLists.txt -index a8c9caf..dffa8cb 100644 ---- a/inference-engine/samples/common/format_reader/CMakeLists.txt -+++ b/inference-engine/samples/common/format_reader/CMakeLists.txt -@@ -40,3 +40,5 @@ set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}) - - export(TARGETS ${TARGET_NAME} NAMESPACE IE:: - APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake") -+ -+install(TARGETS ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/inference-engine/src/CMakeLists.txt b/inference-engine/src/CMakeLists.txt -index 63fda2a..3a4bc48 100644 ---- a/inference-engine/src/CMakeLists.txt -+++ b/inference-engine/src/CMakeLists.txt -@@ -37,8 +37,10 @@ set(InferenceEngine_SRC_DIRS ${CMAKE_SOURCE_DIR}/src) - function(set_target_cpu_flags TARGET_NAME) - endfunction() - --add_subdirectory(extension EXCLUDE_FROM_ALL) -+add_subdirectory(extension) - add_library(IE::ie_cpu_extension ALIAS ie_cpu_extension) - - file(GLOB_RECURSE EXTENSION_SOURCES extension/*.cpp extension/*.hpp extension/*.h) - add_cpplint_target(ie_cpu_extension_cpplint FOR_SOURCES ${EXTENSION_SOURCES}) -+ -+install(DIRECTORY extension DESTINATION include/inference_engine) -diff --git a/inference-engine/src/extension/CMakeLists.txt b/inference-engine/src/extension/CMakeLists.txt -index 799a62d..fb14ebe 100644 ---- a/inference-engine/src/extension/CMakeLists.txt -+++ b/inference-engine/src/extension/CMakeLists.txt -@@ -49,7 +49,7 @@ set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "cpu_extension") - - target_link_libraries(${TARGET_NAME} PRIVATE ${InferenceEngine_LIBRARIES}) - --target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -+target_include_directories(${TARGET_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) - set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}) - - set_target_cpu_flags(${TARGET_NAME}) -@@ -61,3 +61,6 @@ if (IE_MAIN_SOURCE_DIR) - export(TARGETS ${TARGET_NAME} NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake") - endif() - -+set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/InferenceEngine) -+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(EXPORT ${TARGET_NAME} DESTINATION ${ConfigPackageLocation} NAMESPACE IE:: FILE targets_cpu_extension.cmake) -diff --git a/inference-engine/src/hetero_plugin/CMakeLists.txt b/inference-engine/src/hetero_plugin/CMakeLists.txt -index fdb1b0f..4955dc9 100644 ---- a/inference-engine/src/hetero_plugin/CMakeLists.txt -+++ b/inference-engine/src/hetero_plugin/CMakeLists.txt -@@ -21,3 +21,5 @@ target_include_directories(${TARGET_NAME} PRIVATE - ) - - target_link_libraries(${TARGET_NAME} PRIVATE inference_engine ade) -+ -+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt -index 2604c32..54d3828 100644 ---- a/inference-engine/src/inference_engine/CMakeLists.txt -+++ b/inference-engine/src/inference_engine/CMakeLists.txt -@@ -110,8 +110,11 @@ if(WIN32) - endif() - - # Properties->C/C++->General->Additional Include Directories --target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR} -- PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") -+target_include_directories(${TARGET_NAME} PUBLIC -+ $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include> -+ $<INSTALL_INTERFACE:include/${TARGET_NAME}> -+ PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" -+ "${IE_MAIN_SOURCE_DIR}/src/dumper") - - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src") - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src") -@@ -137,7 +140,9 @@ add_library(${TARGET_NAME}_s STATIC - set_ie_threading_interface_for(${TARGET_NAME}_s) - - # Properties->C/C++->General->Additional Include Directories --target_include_directories(${TARGET_NAME}_s PUBLIC "${PUBLIC_HEADERS_DIR}" -+target_include_directories(${TARGET_NAME}_s PUBLIC -+ $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include> -+ $<INSTALL_INTERFACE:include/${TARGET_NAME}> - PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" - PRIVATE "${IE_MAIN_SOURCE_DIR}/src/dumper") - -@@ -173,7 +178,8 @@ target_link_libraries(${TARGET_NAME}_s PRIVATE fluid - add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME}) - - ie_register_plugins(MAIN_TARGET ${TARGET_NAME} -- POSSIBLE_PLUGINS MultiDevicePlugin HeteroPlugin clDNNPlugin dliaPlugin GNAPlugin MKLDNNPlugin myriadPlugin HDDLPlugin) -+ P $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include> -++ $<INSTALL_INTERFACE:include/${TARGET_NAME}>OSSIBLE_PLUGINS clDNNPlugin dliaPlugin GNAPlugin MKLDNNPlugin myriadPlugin) - - # export targets - export(TARGETS ${TARGET_NAME} NAMESPACE IE:: FILE "${CMAKE_BINARY_DIR}/targets.cmake") -@@ -204,3 +210,14 @@ configure_file( - "${CMAKE_SOURCE_DIR}/cmake/share/InferenceEngineConfig-version.cmake.in" - "${CMAKE_BINARY_DIR}/InferenceEngineDeveloperPackageConfig-version.cmake" - COPYONLY) -+ -+set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/InferenceEngine) -+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(EXPORT ${TARGET_NAME} DESTINATION ${ConfigPackageLocation} NAMESPACE IE:: FILE targets.cmake) -+install(DIRECTORY ${PUBLIC_HEADERS_DIR}/ DESTINATION include/${TARGET_NAME} FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp") -+install(FILES -+ "${CMAKE_BINARY_DIR}/InferenceEngineConfig.cmake" -+ "${CMAKE_BINARY_DIR}/InferenceEngineConfig-version.cmake" -+ DESTINATION ${ConfigPackageLocation}) -+ -+install(FILES "$<TARGET_FILE_DIR:${TARGET_NAME}>/plugins.xml" DESTINATION /usr/share/openvino/inference-engine) -diff --git a/inference-engine/src/inference_engine/ie_util_internal.cpp b/inference-engine/src/inference_engine/ie_util_internal.cpp -index 1a2f078..b2668a9 100644 ---- a/inference-engine/src/inference_engine/ie_util_internal.cpp -+++ b/inference-engine/src/inference_engine/ie_util_internal.cpp -@@ -760,9 +760,10 @@ std::string getIELibraryPath() { - GetModuleFileNameA(hm, (LPSTR)ie_library_path, sizeof(ie_library_path)); - return getPathName(ie_library_path); - #else -- Dl_info info; -- dladdr(reinterpret_cast<void *>(getIELibraryPath), &info); -- return getPathName(info.dli_fname); -+ //Dl_info info; -+ //dladdr(reinterpret_cast<void *>(getIELibraryPath), &info); -+ //return getPathName(info.dli_fname); -+ return "/usr/share/openvino/inference-engine"; - #endif - } - -diff --git a/inference-engine/src/mkldnn_plugin/CMakeLists.txt b/inference-engine/src/mkldnn_plugin/CMakeLists.txt -index d767724..80d33e6 100644 ---- a/inference-engine/src/mkldnn_plugin/CMakeLists.txt -+++ b/inference-engine/src/mkldnn_plugin/CMakeLists.txt -@@ -69,3 +69,4 @@ target_compile_definitions(test_${TARGET_NAME} PUBLIC -DMKLDNN_THR=${MKLDNN_THR} - target_link_libraries(test_${TARGET_NAME} PRIVATE inference_engine_s mkldnn) - - set_target_properties(test_${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME test_${TARGET_NAME}) -+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt -index 7023513..b533f07 100644 ---- a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt -+++ b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt -@@ -36,3 +36,5 @@ endif() - target_link_libraries(${TARGET_NAME} - PRIVATE - ${INTEL_ITT_LIBS} inference_engine vpu_graph_transformer mvnc) -+ -+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/inference-engine/tests/unit/CMakeLists.txt b/inference-engine/tests/unit/CMakeLists.txt -index 8180802..2d37b1e 100644 ---- a/inference-engine/tests/unit/CMakeLists.txt -+++ b/inference-engine/tests/unit/CMakeLists.txt -@@ -122,3 +122,5 @@ add_test(NAME ${TARGET_NAME} - COMMAND ${TARGET_NAME}) - - add_dependencies(${TARGET_NAME} mock_engine) -+ -+install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) --- -2.7.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-cmake-Fix-overloaded-virtual-error.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-cmake-Fix-overloaded-virtual-error.patch new file mode 100644 index 00000000..8a1464d5 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-cmake-Fix-overloaded-virtual-error.patch @@ -0,0 +1,33 @@ +From 4a909a03b6dd336e7ea76e3f44d7cfb5d7e44798 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Wed, 29 Nov 2023 12:49:35 +0530 +Subject: [PATCH 2/3] cmake: Fix overloaded-virtual error + +* Remove -Werror for: +|git/src/plugins/intel_gpu/src/kernel_selector/jitter.h:129:28: error: 'virtual kernel_selector::JitDefinitions kernel_selector::JitConstant::GetDefinitions() const' was hidden [-Werror=overloaded-virtual=] +| 129 | virtual JitDefinitions GetDefinitions() const = 0; +| | + +Upstream-Status: Pending + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + src/plugins/intel_gpu/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/plugins/intel_gpu/CMakeLists.txt b/src/plugins/intel_gpu/CMakeLists.txt +index 2f3d9127dde..2fd4f5c1b3c 100644 +--- a/src/plugins/intel_gpu/CMakeLists.txt ++++ b/src/plugins/intel_gpu/CMakeLists.txt +@@ -47,7 +47,7 @@ add_subdirectory(thirdparty) + include(thirdparty/cmake/rapidjson.cmake) + + if(CMAKE_COMPILER_IS_GNUCXX) +- ov_add_compiler_flags(-Werror) ++ #ov_add_compiler_flags(-Werror) + endif() + + add_subdirectory(src/runtime) +-- +2.34.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-protobuf-allow-target-protoc-to-be-built.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-protobuf-allow-target-protoc-to-be-built.patch new file mode 100644 index 00000000..bbdeaa2a --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-protobuf-allow-target-protoc-to-be-built.patch @@ -0,0 +1,45 @@ +From 450d94b475460d1af32b207d0ced495794863f0d Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Wed, 29 Nov 2023 12:55:19 +0530 +Subject: [PATCH 3/3] protobuf: allow target protoc to be built + +We can run target binaries using a qemu wrapper so allow these to be +built and run. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + cmake/developer_package/frontends/frontends.cmake | 2 +- + thirdparty/protobuf/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/developer_package/frontends/frontends.cmake b/cmake/developer_package/frontends/frontends.cmake +index f3b5520d6d2..7579f638c5a 100644 +--- a/cmake/developer_package/frontends/frontends.cmake ++++ b/cmake/developer_package/frontends/frontends.cmake +@@ -163,7 +163,7 @@ macro(ov_add_frontend) + set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${relative_path}/${FILE_WE}.pb.h) + add_custom_command( + OUTPUT "${OUTPUT_PB_SRC}" "${OUTPUT_PB_HEADER}" +- COMMAND ${PROTOC_EXECUTABLE} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file} ++ COMMAND protoc ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file} + DEPENDS ${PROTOC_DEPENDENCY} ${proto_file} + COMMENT "Running C++ protocol buffer compiler (${PROTOC_EXECUTABLE}) on ${proto_file_relative}" + VERBATIM +diff --git a/thirdparty/protobuf/CMakeLists.txt b/thirdparty/protobuf/CMakeLists.txt +index 15f32601f23..36853caf7dc 100644 +--- a/thirdparty/protobuf/CMakeLists.txt ++++ b/thirdparty/protobuf/CMakeLists.txt +@@ -31,7 +31,7 @@ unset(HAVE_ZLIB CACHE) + if(CMAKE_CROSSCOMPILING OR + (APPLE AND (HOST_X86_64 AND AARCH64)) OR + (MSVC AND (HOST_X86_64 AND (AARCH64 OR ARM)))) +- set(protobuf_BUILD_PROTOC_BINARIES OFF CACHE BOOL "Build protoc binaries" FORCE) ++ set(protobuf_BUILD_PROTOC_BINARIES ON CACHE BOOL "Build protoc binaries" FORCE) + else() + set(protobuf_BUILD_PROTOC_BINARIES ON CACHE BOOL "Build protoc binaries" FORCE) + endif() +-- +2.34.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-use-GNUInstallDirs-on-nix.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-use-GNUInstallDirs-on-nix.patch deleted file mode 100644 index c6371181..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-use-GNUInstallDirs-on-nix.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 32c30549fa821b0df3f5f7fdf33d7989a9f1a776 Mon Sep 17 00:00:00 2001 -From: Kevron Rees <kevron.m.rees@intel.com> -Date: Wed, 3 Apr 2019 09:20:48 -0700 -Subject: [PATCH 3/7] use GNUInstallDirs on *nix - -Upstream-Status: Submitted [Patch taken from Clear Linux and has been submitted -upstream] -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - inference-engine/thirdparty/clDNN/CMakeLists.txt | 3 +- - .../thirdparty/clDNN/src/CMakeLists.txt | 36 +++++++++++++++++----- - 2 files changed, 31 insertions(+), 8 deletions(-) - -diff --git a/inference-engine/thirdparty/clDNN/CMakeLists.txt b/inference-engine/thirdparty/clDNN/CMakeLists.txt -index c39fe5c..03e5bad 100644 ---- a/inference-engine/thirdparty/clDNN/CMakeLists.txt -+++ b/inference-engine/thirdparty/clDNN/CMakeLists.txt -@@ -93,7 +93,8 @@ set(CLDNN__GTEST_DIR "${CLDNN__COMMON_DIR}/googletest-fused") - # Build targets settings. - - # Path which points to default root directory for compilation output. --set(CLDNN_BUILD__DEFAULT_OUT_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/build/out") -+set(CLDNN_BUILD__DEFAULT_OUT_ROOT "${CMAKE_BINARY_DIR}") -+set(CLDNN__OUTPUT_DIR, "${CMAKE_BINARY_DIR}") - - # Prefix for all targets in internal pass. - set(CLDNN_BUILD__PROJ_NAME_PREFIX "") -diff --git a/inference-engine/thirdparty/clDNN/src/CMakeLists.txt b/inference-engine/thirdparty/clDNN/src/CMakeLists.txt -index 99e947e..fb25578 100644 ---- a/inference-engine/thirdparty/clDNN/src/CMakeLists.txt -+++ b/inference-engine/thirdparty/clDNN/src/CMakeLists.txt -@@ -206,17 +206,39 @@ target_link_libraries("${CLDNN_BUILD__PROJ}" PRIVATE ${CLDNN__SYSTEM_LINK_LIBRAR - - # ========================================== Installation ============================================== - -+if(UNIX) -+ include(GNUInstallDirs) -+endif(UNIX) -+ -+ - # API headers. --install(DIRECTORY "${CLDNN__API_DIR}/" -+if(UNIX) -+ install(DIRECTORY "${CLDNN__API_DIR}/" -+ DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/clDNN" -+ FILE_PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ -+ ) -+else() -+ install(DIRECTORY "${CLDNN__API_DIR}/" - DESTINATION "include/clDNN" - FILE_PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ - ) -+endif(UNIX) -+ - # Binaries. --install(TARGETS "${CLDNN_BUILD__PROJ}" -- ARCHIVE DESTINATION "lib" -- LIBRARY DESTINATION "lib" -- RUNTIME DESTINATION "bin" -- INCLUDES DESTINATION "include/clDNN" -- ) -+if(UNIX) -+ install(TARGETS "${CLDNN_BUILD__PROJ}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" -+ LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" -+ INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/clDNN" -+ ) -+else() -+ install(TARGETS "${CLDNN_BUILD__PROJ}" -+ ARCHIVE DESTINATION "lib" -+ LIBRARY DESTINATION "lib" -+ RUNTIME DESTINATION "bin" -+ INCLUDES DESTINATION "include/clDNN" -+ ) -+endif(UNIX) - - # ====================================================================================================== --- -2.7.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-disable-werror.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-disable-werror.patch deleted file mode 100644 index ca912fdf..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-disable-werror.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 1ca4d5de754c6ee90f685f2706f657800cad8386 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Fri, 27 Sep 2019 20:32:08 +0800 -Subject: [PATCH 4/7] disable werror - -This shouldn't be enabled and leads to multiple errors when compiling -cldnn and samples. - -Upstream-Status: Pending - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com> ---- - inference-engine/cmake/os_flags.cmake | 1 - - inference-engine/samples/CMakeLists.txt | 1 - - inference-engine/src/extension/CMakeLists.txt | 1 - - inference-engine/thirdparty/clDNN/CMakeLists.txt | 2 -- - inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake | 1 - - inference-engine/tools/CMakeLists.txt | 1 - - 6 files changed, 7 deletions(-) - -diff --git a/inference-engine/cmake/os_flags.cmake b/inference-engine/cmake/os_flags.cmake -index ad15859..d471246 100644 ---- a/inference-engine/cmake/os_flags.cmake -+++ b/inference-engine/cmake/os_flags.cmake -@@ -47,7 +47,6 @@ if (WIN32) - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${DEBUG_SYMBOLS_LINKER_FLAGS}") - endif() - else() -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Werror=return-type ") - if (APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unused-command-line-argument") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-function") -diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt -index 25f9f23..9aa5d5a 100644 ---- a/inference-engine/samples/CMakeLists.txt -+++ b/inference-engine/samples/CMakeLists.txt -@@ -59,7 +59,6 @@ if (WIN32) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4275 /wd4267") #disable some warnings - endif() - else() -- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") #treating warnings as errors - if (APPLE) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unused-command-line-argument") - elseif(UNIX) -diff --git a/inference-engine/src/extension/CMakeLists.txt b/inference-engine/src/extension/CMakeLists.txt -index fb14ebe..228bb8c 100644 ---- a/inference-engine/src/extension/CMakeLists.txt -+++ b/inference-engine/src/extension/CMakeLists.txt -@@ -25,7 +25,6 @@ if (WIN32) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4275 /wd4267") #disable some warnings - endif() - else() -- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") - endif() - - if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) -diff --git a/inference-engine/thirdparty/clDNN/CMakeLists.txt b/inference-engine/thirdparty/clDNN/CMakeLists.txt -index 03e5bad..b9a3f5d 100644 ---- a/inference-engine/thirdparty/clDNN/CMakeLists.txt -+++ b/inference-engine/thirdparty/clDNN/CMakeLists.txt -@@ -760,8 +760,6 @@ foreach(__CLDNN_CompilerFlagName IN ITEMS "CMAKE_CXX_FLAGS" "CMAKE_C_FLAGS") - MultiProcessorCompilation - DeadCodeEliminate - ExtensionsEnabled -- TreatWarnAsErrorEnabled -- WarnLevel4 - NoFastMath - StackProtector - ) -diff --git a/inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake b/inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake -index a541215..bed8a59 100644 ---- a/inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake -+++ b/inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake -@@ -63,7 +63,6 @@ if(MSVC) - endif() - elseif(UNIX OR MINGW) - append(CMAKE_CCXX_FLAGS "-Wall -Wno-unknown-pragmas") -- append_if_product(CMAKE_CCXX_FLAGS "-Werror") - append(CMAKE_CCXX_FLAGS "-fvisibility=internal") - append(CMAKE_C_FLAGS "-std=c99") - append(CMAKE_CXX_FLAGS "-std=c++11 -fvisibility-inlines-hidden") -diff --git a/inference-engine/tools/CMakeLists.txt b/inference-engine/tools/CMakeLists.txt -index 3d80df3..b6cb7d8 100644 ---- a/inference-engine/tools/CMakeLists.txt -+++ b/inference-engine/tools/CMakeLists.txt -@@ -24,7 +24,6 @@ endif() - if (WIN32) - # add_compile_options("/WX") - else() -- add_compile_options("-Werror") - endif() - - if (ENABLE_OPENCV) --- -2.7.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-point-to-correct-location-of-ngraph-headers.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-point-to-correct-location-of-ngraph-headers.patch deleted file mode 100644 index 0a01f5ac..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-point-to-correct-location-of-ngraph-headers.patch +++ /dev/null @@ -1,42 +0,0 @@ -From c17cee8005b9635699feea98bfc34ede340daf07 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Fri, 27 Sep 2019 23:06:18 +0800 -Subject: [PATCH 5/7] point to correct location of ngraph headers - -Upstream-Status: Pending -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - inference-engine/src/inference_engine/CMakeLists.txt | 2 +- - inference-engine/tests/unit/CMakeLists.txt | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt -index 54d3828..4a9bedf 100644 ---- a/inference-engine/src/inference_engine/CMakeLists.txt -+++ b/inference-engine/src/inference_engine/CMakeLists.txt -@@ -119,7 +119,7 @@ target_include_directories(${TARGET_NAME} PUBLIC - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src") - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src") - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ocv") --include_directories(${TARGET_NAME} "/usr/include/ngraph") -+include_directories(${TARGET_NAME} "${NGRAPH_INCLUDES}") - - if(ENABLE_MKL_DNN) - target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/src/cpu/xbyak") -diff --git a/inference-engine/tests/unit/CMakeLists.txt b/inference-engine/tests/unit/CMakeLists.txt -index 2d37b1e..b98d5a6 100644 ---- a/inference-engine/tests/unit/CMakeLists.txt -+++ b/inference-engine/tests/unit/CMakeLists.txt -@@ -83,7 +83,8 @@ target_include_directories(${TARGET_NAME} PRIVATE - ${IE_MAIN_SOURCE_DIR}/src/extension - ${IE_MAIN_SOURCE_DIR}/src/extension/common - ${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src -- "${CMAKE_CURRENT_SOURCE_DIR}/mocks") -+ "${CMAKE_CURRENT_SOURCE_DIR}/mocks" -+ ${NGRAPH_INCLUDES}) - - set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}) - --- -2.7.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch deleted file mode 100644 index b0c0a5d4..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e41aafcd133ecf7215e941e01a58fcacd5c91bd7 Mon Sep 17 00:00:00 2001 -From: Chin Huat Ang <chin.huat.ang@intel.com> -Date: Mon, 30 Sep 2019 13:50:45 +0800 -Subject: [PATCH 6/7] Install clDNN plugin to CMAKE_INSTALL_LIBDIR - -Upstream-Status: Pending -Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com> ---- - inference-engine/src/cldnn_engine/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/inference-engine/src/cldnn_engine/CMakeLists.txt b/inference-engine/src/cldnn_engine/CMakeLists.txt -index b618084..7bdb311 100644 ---- a/inference-engine/src/cldnn_engine/CMakeLists.txt -+++ b/inference-engine/src/cldnn_engine/CMakeLists.txt -@@ -22,6 +22,8 @@ target_include_directories(${TARGET_NAME} PRIVATE - ${IE_MAIN_SOURCE_DIR}/src/inference_engine - ${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src) - -+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ - # copy default global xml file describing the custom kernels and the *.cl files - - add_custom_command(TARGET ${TARGET_NAME} POST_BUILD --- -2.7.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch deleted file mode 100644 index 2a2b1ba3..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 41c81231a9f3222423510f2b6b10f4e7024150de Mon Sep 17 00:00:00 2001 -From: Chin Huat Ang <chin.huat.ang@intel.com> -Date: Wed, 16 Oct 2019 13:06:26 +0800 -Subject: [PATCH 7/7] Install mock_engine to CMAKE_INSTALL_LIBDIR - -Upstream-Status: Pending -Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com> ---- - inference-engine/tests/mock_engine/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/inference-engine/tests/mock_engine/CMakeLists.txt b/inference-engine/tests/mock_engine/CMakeLists.txt -index a0f77cf..e23b93a 100644 ---- a/inference-engine/tests/mock_engine/CMakeLists.txt -+++ b/inference-engine/tests/mock_engine/CMakeLists.txt -@@ -38,3 +38,5 @@ target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_API - set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD 11) - set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) - set_property(TARGET ${TARGET_NAME} PROPERTY COMPILE_PDB_NAME ${TARGET_NAME}) -+ -+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) --- -2.7.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0008-Simplify-searching-for-firmware-files.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0008-Simplify-searching-for-firmware-files.patch deleted file mode 100644 index a4c75ff3..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0008-Simplify-searching-for-firmware-files.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 1f6f05ae4d3fba95ccc34a4622d06b9d2bf88e80 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Fri, 27 Sep 2019 11:34:36 +0800 -Subject: [PATCH] Simplify searching for firmware files - -Disable runtime fetching when VPU_FIRMWARE_*_FILE variables are defined -and point to already fetched firmware instead. - -Do it all in one foreach loop. - -Upstream-Status: Submitted [https://github.com/opencv/dldt/pull/302] - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - inference-engine/cmake/vpu_dependencies.cmake | 63 ++++++------------- - 1 file changed, 20 insertions(+), 43 deletions(-) - -diff --git a/inference-engine/cmake/vpu_dependencies.cmake b/inference-engine/cmake/vpu_dependencies.cmake -index 1550163d..e0bc844e 100644 ---- a/inference-engine/cmake/vpu_dependencies.cmake -+++ b/inference-engine/cmake/vpu_dependencies.cmake -@@ -4,52 +4,29 @@ - - set(VPU_SUPPORTED_SOC ma2450 ma2x8x mv0262) - --# --# Default firmware packages --# -- --RESOLVE_DEPENDENCY(VPU_FIRMWARE_MA2450 -- ARCHIVE_UNIFIED firmware_ma2450_759W.zip -- TARGET_PATH "${TEMP}/vpu/firmware/ma2450" -- ENVIRONMENT "VPU_FIRMWARE_MA2450" -- FOLDER) --debug_message(STATUS "ma2450=" ${VPU_FIRMWARE_MA2450}) -- --RESOLVE_DEPENDENCY(VPU_FIRMWARE_MV0262 -- ARCHIVE_UNIFIED firmware_mv0262_mdk_R9.8.zip -- TARGET_PATH "${TEMP}/vpu/firmware/mv0262" -- ENVIRONMENT "VPU_FIRMWARE_MV0262" -- FOLDER) --debug_message(STATUS "mv0262=" ${VPU_FIRMWARE_MV0262}) -- --RESOLVE_DEPENDENCY(VPU_FIRMWARE_MA2X8X -- ARCHIVE_UNIFIED firmware_ma2x8x_mdk_R9.8.zip -- TARGET_PATH "${TEMP}/vpu/firmware/ma2x8x" -- ENVIRONMENT "VPU_FIRMWARE_MA2X8X" -- FOLDER) --debug_message(STATUS "ma2x8x=" ${VPU_FIRMWARE_MA2X8X}) -- --# --# CMake variables to override default firmware files --# -- - foreach(soc IN LISTS VPU_SUPPORTED_SOC) - string(TOUPPER "${soc}" soc_upper) -- set(var_name VPU_FIRMWARE_${soc_upper}_FILE) -+ set(var_name_file VPU_FIRMWARE_${soc_upper}_FILE) -+ set(var_name VPU_FIRMWARE_${soc_upper}) -+ set(var_name_zip firmware_${soc}_mdk_R9.8.zip) -+ if(${soc} STREQUAL "ma2450") -+ set(var_name_zip firmware_${soc}_759W.zip) -+ endif() - -- find_file(${var_name} MvNCAPI-${soc}.mvcmd "${VPU_FIRMWARE_${soc_upper}}/mvnc") -- if(NOT ${var_name}) -- message(FATAL_ERROR "[VPU] Missing ${soc} firmware") -+ if(NOT DEFINED ${var_name_file}) -+ RESOLVE_DEPENDENCY(${var_name} -+ ARCHIVE_UNIFIED ${var_name_zip} -+ TARGET_PATH "${TEMP}/vpu/firmware/${soc}" -+ ENVIRONMENT "${var_name}" -+ FOLDER) -+ find_file(${var_name_file} NAMES "MvNCAPI-${soc}.mvcmd" PATHS "${VPU_FIRMWARE_${soc_upper}}/mvnc" NO_CMAKE_FIND_ROOT_PATH) - endif() --endforeach() - --# --# `vpu_copy_firmware` CMake target --# -+ if(NOT ${var_name_file}) -+ message(FATAL_ERROR "[VPU] Missing ${soc} firmware, MvNCAPI-${soc}.mvcmd not found in ${VPU_FIRMWARE_${soc_upper}}/mvnc env $ENV{${var_name}} ") -+ endif() - --foreach(soc IN LISTS VPU_SUPPORTED_SOC) -- string(TOUPPER "${soc}" soc_upper) -- set(var_name VPU_FIRMWARE_${soc_upper}_FILE) -+ debug_message(STATUS "${soc}=" ${${var_name_file}}) - - set(firmware_out_file "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/MvNCAPI-${soc}.mvcmd") - list(APPEND all_firmware_files ${firmware_out_file}) -@@ -57,9 +34,9 @@ foreach(soc IN LISTS VPU_SUPPORTED_SOC) - add_custom_command( - OUTPUT ${firmware_out_file} - COMMAND -- ${CMAKE_COMMAND} -E copy ${${var_name}} ${firmware_out_file} -- MAIN_DEPENDENCY ${${var_name}} -- COMMENT "[VPU] Copy ${${var_name}} to ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" -+ ${CMAKE_COMMAND} -E copy ${${var_name_file}} ${firmware_out_file} -+ MAIN_DEPENDENCY ${${var_name_file}} -+ COMMENT "[VPU] Copy ${${var_name_file}} to ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" - VERBATIM) - endforeach() - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest deleted file mode 100644 index 92f238a9..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# InferenceEngineUnitTests requires libmock_engine.so, since they are -# installed in the same directory we will need to set LD_LIBRARY_PATH -# so that libmock_engine.so is picked up correctly. We also assume that -# this script is only execute within the same directory where it is -# installed. - -export LD_LIBRARY_PATH=. - -./InferenceEngineUnitTests |sed \ - -e 's|\[.*OK.*\]\(.*\)|PASS:\1|' \ - -e 's|\[.*FAILED.*\]\(.*\)|FAIL:\1|' diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch new file mode 100644 index 00000000..816a98a3 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch @@ -0,0 +1,27 @@ +From 804b08023b3f8e72b8e3eb09e464d6775c11d966 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Fri, 21 Oct 2022 11:38:23 +0800 +Subject: [PATCH] demos: use gflags from meta-oe + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> + +--- + demos/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt +index 51767051c..fb7e3d22f 100644 +--- a/demos/CMakeLists.txt ++++ b/demos/CMakeLists.txt +@@ -141,7 +141,7 @@ endmacro() + find_package(OpenCV REQUIRED COMPONENTS core highgui videoio imgproc imgcodecs) + find_package(OpenVINO REQUIRED COMPONENTS Runtime) + +-add_subdirectory(thirdparty/gflags) ++#add_subdirectory(thirdparty/gflags) + add_subdirectory(common/cpp) + + find_package(OpenCV QUIET COMPONENTS gapi) diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2024.1.0.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2024.1.0.bb new file mode 100644 index 00000000..a9422e70 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2024.1.0.bb @@ -0,0 +1,54 @@ +SUMMARY = "OpenVINO(TM) Toolkit - Open Model Zoo repository" +HOMEPAGE = "https://github.com/opencv/open_model_zoo" +DESCRIPTION = "This repository includes optimized deep learning \ +models and a set of demos to expedite development of high-performance \ +deep learning inference applications." + +SRC_URI = "git://github.com/opencv/open_model_zoo.git;protocol=https;branch=master \ + file://0001-use-oe-gflags.patch \ + " + +SRCREV = "cf5141dad2a4f24e1c5d5b9d43219ed804c48bbf" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ +" + +inherit cmake + +S = "${WORKDIR}/git" +OECMAKE_SOURCEPATH = "${S}/demos" + +DEPENDS += "openvino-inference-engine opencv gflags" + +RDEPENDS:${PN} += " \ + python3-decorator \ + python3-defusedxml \ + python3-networkx \ + python3-protobuf \ + python3-requests \ + python3-pyyaml \ + python3-numpy \ + bash \ +" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +EXTRA_OECMAKE += " \ + -DENABLE_SAMPLES=ON \ + " + +do_install(){ + install -d ${D}${libdir} + install -d ${D}${bindir} + install -d ${D}${datadir}/openvino/open-model-zoo/tools + install -d ${D}${datadir}/openvino/open-model-zoo/demos + cp -rf ${B}/intel64/Release/*.a ${D}${libdir} + cp -rf ${B}/intel64/Release/*_demo* ${D}${bindir} + cp -rf ${S}/models ${D}${datadir}/openvino/open-model-zoo + cp -rf ${S}/demos ${D}${datadir}/openvino/open-model-zoo + cp -rf ${S}/tools/model_tools ${D}${datadir}/openvino/open-model-zoo/tools +} + +FILES:${PN} += "${datadir}/openvino" diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2024.1.0.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2024.1.0.bb new file mode 100644 index 00000000..675d9920 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2024.1.0.bb @@ -0,0 +1,146 @@ +SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit" +HOMEPAGE = "https://github.com/opencv/dldt" +DESCRIPTION = "This toolkit allows developers to deploy pre-trained \ +deep learning models through a high-level C++ Inference Engine API \ +integrated with application logic." + +SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;name=openvino;branch=releases/2024/1;lfs=0 \ + git://github.com/openvinotoolkit/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/onednn;name=mkl;nobranch=1 \ + git://github.com/oneapi-src/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_gpu/thirdparty/onednn_gpu;name=onednn;nobranch=1 \ + git://github.com/herumi/xbyak.git;protocol=https;destsuffix=git/thirdparty/xbyak;name=xbyak;branch=master \ + git://github.com/nlohmann/json.git;protocol=https;destsuffix=git/thirdparty/json/nlohmann_json;name=json;branch=develop \ + git://github.com/opencv/ade.git;protocol=https;destsuffix=git/thirdparty/ade;name=ade;nobranch=1 \ + git://github.com/protocolbuffers/protobuf.git;protocol=https;destsuffix=git/thirdparty/protobuf/protobuf;name=protobuf;branch=3.20.x \ + git://github.com/gflags/gflags.git;protocol=https;destsuffix=git/thirdparty/gflags/gflags;name=gflags;nobranch=1 \ + git://github.com/madler/zlib.git;protocol=https;destsuffix=git/thirdparty/zlib/zlib;name=zlib;nobranch=1 \ + git://github.com/openvinotoolkit/mlas.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/mlas;name=mlas;nobranch=1 \ + git://github.com/nodejs/node-api-headers.git;protocol=https;destsuffix=git/node-api-headers-src;name=node-api-headers;nobranch=1 \ + git://github.com/nodejs/node-addon-api.git;protocol=https;destsuffix=git/node-addon-api-src;name=node-addon-api;nobranch=1 \ + git://github.com/openvinotoolkit/telemetry.git;protocol=https;destsuffix=git/thirdparty/telemetry;name=telemetry;nobranch=1;lfs=0 \ + file://0001-cmake-yocto-specific-tweaks-to-the-build-process.patch \ + file://0002-cmake-Fix-overloaded-virtual-error.patch \ + file://0003-protobuf-allow-target-protoc-to-be-built.patch \ + " + +SRCREV_openvino = "f4afc983258bcb2592d999ed6700043fdb58ad78" +SRCREV_mkl = "26633ae49edd4353a29b7170d9fcef6b2d79f4b3" +SRCREV_onednn = "4e6ff043c439652fcf6c400ac4e0c81bbac7c71c" +SRCREV_xbyak = "740dff2e866f3ae1a70dd42d6e8836847ed95cc2" +SRCREV_json = "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03" +SRCREV_ade = "0e8a2ccdd34f29dba55894f5f3c5179809888b9e" +SRCREV_protobuf = "fe271ab76f2ad2b2b28c10443865d2af21e27e0e" +SRCREV_gflags = "e171aa2d15ed9eb17054558e0b3a6a413bb01067" +SRCREV_zlib = "09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851" +SRCREV_mlas = "d1bc25ec4660cddd87804fcf03b2411b5dfb2e94" +SRCREV_node-api-headers = "186e04b5e40e54d7fd1655bc67081cc483f12488" +SRCREV_node-addon-api = "39a25bf27788ff7a7ea5c64978c4dcd1e7b9d80d" +SRCREV_telemetry = "58e16c257a512ec7f451c9fccf9ff455065b285b" +SRCREV_FORMAT = "openvino_mkl_onednn_xbyak_json_ade_protobuf_gflags_zlib_node-api-headers_node-addon-api_mlas_telemetry" + +LICENSE = "Apache-2.0 & MIT & BSD-3-Clause & Zlib" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ + file://thirdparty/xbyak/COPYRIGHT;md5=3c98edfaa50a86eeaef4c6109e803f16 \ + file://thirdparty/cnpy/LICENSE;md5=689f10b06d1ca2d4b1057e67b16cd580 \ + file://thirdparty/json/nlohmann_json/LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588 \ + file://thirdparty/ade/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://thirdparty/gflags/gflags/COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df \ + file://thirdparty/zlib/zlib/LICENSE;md5=b51a40671bc46e961c0498897742c0b8 \ + file://src/plugins/intel_cpu/thirdparty/mlas/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ + file://src/plugins/intel_cpu/thirdparty/onednn/LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \ + file://src/plugins/intel_gpu/thirdparty/onednn_gpu/LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \ + file://node-api-headers-src/LICENSE;md5=6adb2909701d4605b4b2ae1a9b25d8bd \ + file://node-addon-api-src/LICENSE.md;md5=0492ef29a9d558a3e9660e7accc9ca6a \ + file://thirdparty/telemetry/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ +" + +inherit cmake python3native pkgconfig qemu + +S = "${WORKDIR}/git" +EXTRA_OECMAKE += " \ + -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \ + -DENABLE_OPENCV=OFF \ + -DENABLE_INTEL_GNA=OFF \ + -DENABLE_SYSTEM_TBB=ON \ + -DPYTHON_EXECUTABLE=${PYTHON} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DTHREADING=TBB -DTBB_DIR="${STAGING_LIBDIR}/cmake/TBB" \ + -DTREAT_WARNING_AS_ERROR=FALSE \ + -DENABLE_DATA=FALSE \ + -DENABLE_SYSTEM_PUGIXML=TRUE \ + -DENABLE_OV_ONNX_FRONTEND=FALSE \ + -DUSE_BUILD_TYPE_SUBFOLDER=OFF \ + -DENABLE_FUZZING=OFF \ + -DENABLE_TBBBIND_2_5=OFF \ + -DCPACK_GENERATOR=RPM \ + -DENABLE_SYSTEM_FLATBUFFERS=ON \ + -DENABLE_SYSTEM_SNAPPY=ON \ + -DFETCHCONTENT_BASE_DIR="${S}" \ + -DENABLE_INTEL_NPU=OFF \ + " + +DEPENDS += "\ + flatbuffers-native \ + pugixml \ + python3-pybind11 \ + python3-pybind11-native \ + qemu-native \ + snappy \ + tbb \ + " + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +PACKAGECONFIG ?= "opencl samples" +PACKAGECONFIG[opencl] = "-DENABLE_INTEL_GPU=TRUE, -DENABLE_INTEL_GPU=FALSE, virtual/opencl-icd opencl-headers opencl-clhpp," +PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR} -DENABLE_PYTHON_PACKAGING=ON, -DENABLE_PYTHON=OFF, patchelf-native, python3 python3-numpy python3-progress" +PACKAGECONFIG[samples] = "-DENABLE_SAMPLES=ON -DENABLE_COMPILE_TOOL=ON, -DENABLE_SAMPLES=OFF -DENABLE_COMPILE_TOOL=OFF, opencv" +PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0" + +do_configure:prepend() { + # Dont set PROJECT_ROOT_DIR + sed -i -e 's:\${OpenVINO_SOURCE_DIR}::;' ${S}/src/CMakeLists.txt + + # qemu wrapper that can be used by cmake to run target binaries. + qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" + cat > ${WORKDIR}/qemuwrapper << EOF +#!/bin/sh +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/qemuwrapper +} + +do_install:append() { + rm -rf ${D}${prefix}/install_dependencies + rm -rf ${D}${prefix}/setupvars.sh + + find ${B}/src/plugins/intel_cpu/cross-compiled/ -type f -name *_disp.cpp -exec sed -i -e 's%'"${S}"'%'"${TARGET_DBGSRC_DIR}"'%g' {} + +} + +# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR +# instead of RSS +SSTATE_SCAN_FILES:append = " *.cmake" + +FILES:${PN} += "\ + ${libdir}/openvino-${PV}/lib*${SOLIBSDEV} \ + ${libdir}/openvino-${PV}/plugins.xml \ + ${libdir}/openvino-${PV}/cache.json \ + " + +# Move inference engine samples into a separate package +PACKAGES =+ "${PN}-samples" + +FILES:${PN}-samples = "${datadir}/openvino \ + ${bindir} \ + ${libdir}/libformat_reader.a \ + ${libdir}/libopencv_c_wrapper.a \ + " + +RDEPENDS:${PN}-samples += "python3-core" + +# Package for inference engine python API +PACKAGES =+ "${PN}-python3" + +FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$" |