Skip to content

Commit bd414f6

Browse files
authored
NPU Driver 1.13.0 release unified 2025WW04 (#70)
Signed-off-by: Schulfer, Magdalena [email protected] Signed-off-by: Wludzik, Jozef [email protected] Co-authored-by: Pawlak, Jakub [email protected] Co-authored-by: Pradzynski, Krystian [email protected] Co-authored-by: Tabaka, Mateusz [email protected]
1 parent 93fb54b commit bd414f6

File tree

173 files changed

+28497
-1823
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+28497
-1823
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@
1313
[submodule "third_party/yaml-cpp"]
1414
path = third_party/yaml-cpp
1515
url = https://github.com/jbeder/yaml-cpp.git
16+
[submodule "third_party/perfetto"]
17+
path = third_party/perfetto
18+
url = https://android.googlesource.com/platform/external/perfetto

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.24")
1010
cmake_policy(SET CMP0135 NEW)
1111
endif()
1212

13-
set(STACK_VERSION 1.10.1 CACHE STRING "Main project version")
13+
set(STACK_VERSION 1.13.0 CACHE STRING "Main project version")
1414
project(npu-linux-driver VERSION ${STACK_VERSION})
1515

1616
set(BUILD_NUMBER "dev-0" CACHE STRING "Build number composed of name and unique number used as driver version")
@@ -36,9 +36,11 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
3636

3737
option(ENABLE_OPENVINO_PACKAGE "Enable building the OpenVINO + NPU Plugin package" OFF)
3838
option(ENABLE_NPU_COMPILER_BUILD "Enable building compiler in driver" OFF)
39+
option(ENABLE_NPU_PERFETTO_BUILD "Enable building with Perfetto library" OFF)
3940

4041
message(STATUS "option ENABLE_OPENVINO_PACKAGE: ${ENABLE_OPENVINO_PACKAGE}")
4142
message(STATUS "option ENABLE_NPU_COMPILER_BUILD: ${ENABLE_NPU_COMPILER_BUILD}")
43+
message(STATUS "option ENABLE_NPU_PERFETTO_BUILD: ${ENABLE_NPU_PERFETTO_BUILD}")
4244

4345
include(GNUInstallDirs)
4446

cmake/packaging/generators/ebuild_package_script.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ foreach(COMPONENT IN LISTS CPACK_COMPONENTS_ALL)
5050
"\n"
5151
"src_install() {\n"
5252
" mkdir -p \${D}\n"
53-
" cp -r \${S}/* \${D}\n"
53+
" cp -ra \${S}/* \${D}\n"
5454
"}\n")
5555

5656
if (${COMPONENT_UPPER}_POSTINST)

cmake/packaging/setup.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ file(WRITE ${CPACK_PROJECT_CONFIG_FILE}
3636
get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS)
3737
list(REMOVE_ITEM CPACK_COMPONENTS_ALL level-zero-devel)
3838
list(REMOVE_ITEM CPACK_COMPONENTS_ALL openvino_standalone_package)
39+
list(REMOVE_ITEM CPACK_COMPONENTS_ALL npu_compiler_package)
3940

4041
if (EXISTS "/etc/debian_version")
4142
set(PACKAGE_TYPE "deb")

compiler/compiler_source.cmake

Lines changed: 64 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2022-2024 Intel Corporation.
1+
# Copyright 2022-2025 Intel Corporation.
22
#
33
# This software and the related documents are Intel copyrighted materials, and
44
# your use of them is governed by the express license under which they were
@@ -10,52 +10,88 @@
1010
# or implied warranties, other than those that are expressly stated in
1111
# the License.
1212

13-
if(TARGET npu_plugin_source)
13+
if(TARGET npu_compiler_source)
1414
return()
1515
endif()
1616

17+
if(DEFINED ENV{TARGET_DISTRO})
18+
set(TARGET_DISTRO $ENV{TARGET_DISTRO})
19+
else()
20+
set(TARGET_DISTRO ${CMAKE_SYSTEM_NAME})
21+
endif()
22+
1723
include(ExternalProject)
1824

19-
# OpenVINO + NPU Plugin package options
20-
set(OPENVINO_REVISION 0ebff040fd22daa37612a82fdf930ffce4ebb099)
21-
set(VPUX_PLUGIN_REVISION 150e2025aaba8bcc0f0e3853a526ee2e1e2e32a7)
22-
set(VPUX_PLUGIN_RELEASE npu_ud_2024_44_rc2)
23-
set(OPENCV_REVISION 78195bc3dfe20b96e721ae8b32d0aa3491755e78)
25+
set(OPENVINO_REPOSITORY https://github.com/openvinotoolkit/openvino.git)
26+
set(OPENVINO_REVISION 99d7cd4bc4492b81a99bc41e2d2469da1a929491)
27+
set(OPENCV_REVISION 3919f33e21fd0783f67901ad3429101f9b39c798)
2428

25-
# Directories
26-
set(OPENVINO_PREFIX_DIR "${CMAKE_BINARY_DIR}/third_party/openvino")
27-
set(OPENVINO_SOURCE_DIR "${OPENVINO_PREFIX_DIR}/src/openvino")
29+
set(NPU_COMPILER_TAG npu_ud_2025_04_rc2)
30+
set(NPU_COMPILER_REVISION 5fd0b93eed2f4a9b15e887cd22e1ed085b122170)
31+
# Compiler might use different OpenVINO revision
32+
set(NPU_COMPILER_OPENVINO_REVISION 99d7cd4bc4492b81a99bc41e2d2469da1a929491)
33+
34+
set(OPENVINO_SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/src/openvino")
2835
file(MAKE_DIRECTORY ${OPENVINO_SOURCE_DIR})
2936

30-
set(NPU_PLUGIN_PREFIX_DIR "${CMAKE_BINARY_DIR}/third_party/npu_plugin")
31-
set(NPU_PLUGIN_SOURCE_DIR "${NPU_PLUGIN_PREFIX_DIR}/src/npu_plugin")
32-
file(MAKE_DIRECTORY ${NPU_PLUGIN_SOURCE_DIR})
37+
list(APPEND DISABLE_GIT_LFS "filter.lfs.smudge=git-lfs smudge --skip -- %f")
38+
list(APPEND DISABLE_GIT_LFS "filter.lfs.process=git-lfs filter-process --skip")
3339

3440
ExternalProject_Add(
3541
openvino_source
36-
GIT_REPOSITORY https://github.com/openvinotoolkit/openvino.git
42+
GIT_REPOSITORY ${OPENVINO_REPOSITORY}
3743
GIT_TAG ${OPENVINO_REVISION}
38-
PREFIX ${OPENVINO_PREFIX_DIR}
44+
GIT_CONFIG ${DISABLE_GIT_LFS}
3945
SOURCE_DIR ${OPENVINO_SOURCE_DIR}
40-
UPDATE_DISCONNECTED TRUE
4146
PATCH_COMMAND ""
4247
CONFIGURE_COMMAND ""
4348
BUILD_COMMAND ""
44-
INSTALL_COMMAND "")
49+
INSTALL_COMMAND ""
50+
# Only change the content of source dir in case revision or patch command change
51+
UPDATE_DISCONNECTED TRUE)
52+
53+
set(NPU_COMPILER_SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/src/npu_compiler")
54+
file(MAKE_DIRECTORY ${NPU_COMPILER_SOURCE_DIR})
55+
56+
if(NOT NPU_COMPILER_OPENVINO_REVISION EQUAL OPENVINO_REVISION)
57+
set(NPU_COMPILER_OPENVINO_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/src/npu_compiler_openvino)
58+
file(MAKE_DIRECTORY ${NPU_COMPILER_OPENVINO_SOURCE_DIR})
59+
60+
set(NPU_COMPILER_BUILD_DEPENDS npu_compiler_openvino_source)
61+
62+
# Copy the local openvino_source and checkout for the compiler the required OpenVINO revision
63+
ExternalProject_Add(
64+
npu_compiler_openvino_source
65+
DEPENDS openvino_source
66+
GIT_REPOSITORY ${OPENVINO_SOURCE_DIR}
67+
GIT_TAG ${NPU_COMPILER_OPENVINO_REVISION}
68+
GIT_CONFIG ${DISABLE_GIT_LFS}
69+
SOURCE_DIR ${NPU_COMPILER_OPENVINO_SOURCE_DIR}
70+
PATCH_COMMAND ""
71+
CONFIGURE_COMMAND ""
72+
BUILD_COMMAND ""
73+
INSTALL_COMMAND ""
74+
# Only change the content of source dir in case revision or patch command change
75+
UPDATE_DISCONNECTED TRUE)
76+
else()
77+
set(NPU_COMPILER_OPENVINO_SOURCE_DIR ${OPENVINO_SOURCE_DIR})
78+
set(NPU_COMPILER_BUILD_DEPENDS openvino_source)
79+
endif()
4580

4681
ExternalProject_Add(
47-
npu_plugin_source
82+
npu_compiler_source
4883
GIT_REPOSITORY
49-
https://github.com/openvinotoolkit/npu_compiler.git
50-
GIT_TAG ${VPUX_PLUGIN_REVISION}
51-
PREFIX ${NPU_PLUGIN_PREFIX_DIR}
52-
SOURCE_DIR ${NPU_PLUGIN_SOURCE_DIR}
53-
UPDATE_DISCONNECTED TRUE
84+
https://github.com/openvinotoolkit/npu_plugin.git
85+
GIT_TAG ${NPU_COMPILER_REVISION}
86+
GIT_CONFIG ${DISABLE_GIT_LFS}
87+
SOURCE_DIR ${NPU_COMPILER_SOURCE_DIR}
5488
PATCH_COMMAND
55-
git -C ${NPU_PLUGIN_SOURCE_DIR} lfs install &&
56-
git -C ${NPU_PLUGIN_SOURCE_DIR} lfs pull &&
57-
git -C ${NPU_PLUGIN_SOURCE_DIR}/thirdparty/vpucostmodel lfs install &&
58-
git -C ${NPU_PLUGIN_SOURCE_DIR}/thirdparty/vpucostmodel lfs pull
89+
git -C ${NPU_COMPILER_SOURCE_DIR} lfs install &&
90+
git -C ${NPU_COMPILER_SOURCE_DIR} lfs pull &&
91+
git -C ${NPU_COMPILER_SOURCE_DIR}/thirdparty/vpucostmodel lfs install &&
92+
git -C ${NPU_COMPILER_SOURCE_DIR}/thirdparty/vpucostmodel lfs pull
5993
CONFIGURE_COMMAND ""
6094
BUILD_COMMAND ""
61-
INSTALL_COMMAND "")
95+
INSTALL_COMMAND ""
96+
# Only change the content of source dir in case revision or patch command change
97+
UPDATE_DISCONNECTED TRUE)

compiler/include/npu_driver_compiler.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ extern "C" {
2323
#endif
2424

2525
#define VCL_COMPILER_VERSION_MAJOR 6
26-
#define VCL_COMPILER_VERSION_MINOR 1
26+
#define VCL_COMPILER_VERSION_MINOR 3
2727
#define VCL_PROFILING_VERSION_MAJOR 2
2828
#define VCL_PROFILING_VERSION_MINOR 0
2929

@@ -123,6 +123,7 @@ typedef enum __vcl_platform_t {
123123
VCL_PLATFORM_VPU3700 = 0, ///< VPU3700
124124
VCL_PLATFORM_VPU3720 = 1, ///< VPU3720
125125
VCL_PLATFORM_VPU4000 = 2, ///< VPU4000
126+
126127
} vcl_platform_t;
127128

128129
///////////////////////////////////////////////////////////////////////////////

compiler/npu_compiler.cmake

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2022-2023 Intel Corporation.
1+
# Copyright 2022-2024 Intel Corporation.
22
#
33
# This software and the related documents are Intel copyrighted materials, and
44
# your use of them is governed by the express license under which they were
@@ -11,17 +11,23 @@
1111

1212
add_library(npu_compiler INTERFACE)
1313

14-
if(ENABLE_NPU_COMPILER_BUILD)
15-
include(npu_compiler_build.cmake)
16-
17-
add_dependencies(npu_compiler ${NPU_COMPILER_DEPENDENCY})
18-
install(FILES ${NPU_COMPILER_LIBS}
19-
TYPE LIB
20-
COMPONENT driver-compiler-npu)
21-
elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/include/)
22-
set(NPU_COMPILER_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
23-
else()
24-
message(FATAL_ERROR "Missing NPU Driver Compiler headers in path ${CMAKE_CURRENT_SOURCE_DIR}/include/")
14+
if(NOT NPU_COMPILER_PACKAGE_DIR)
15+
if(ENABLE_NPU_COMPILER_BUILD)
16+
include(npu_compiler_build.cmake)
17+
else()
18+
# TODO: Should be removed as driver should always be built with compiler
19+
message(WARNING "No NPU compiler provided, fallback to only include local copy of compiler headers")
20+
target_include_directories(npu_compiler INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
21+
return()
22+
endif()
2523
endif()
2624

27-
target_include_directories(npu_compiler INTERFACE ${NPU_COMPILER_INCLUDE_DIR})
25+
message(STATUS "NPU_COMPILER_PACKAGE_DIR: ${NPU_COMPILER_PACKAGE_DIR}")
26+
target_include_directories(npu_compiler INTERFACE ${NPU_COMPILER_PACKAGE_DIR})
27+
28+
set(NPU_COMPILER_LIBS ${NPU_COMPILER_PACKAGE_DIR}/lib/libnpu_driver_compiler.so)
29+
target_link_libraries(npu_compiler INTERFACE ${NPU_COMPILER_LIBS})
30+
31+
install(FILES ${NPU_COMPILER_LIBS}
32+
TYPE LIB
33+
COMPONENT driver-compiler-npu)

compiler/npu_compiler_build.cmake

Lines changed: 71 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2022-2023 Intel Corporation.
1+
# Copyright 2022-2025 Intel Corporation.
22
#
33
# This software and the related documents are Intel copyrighted materials, and
44
# your use of them is governed by the express license under which they were
@@ -15,65 +15,88 @@ include(compiler_source.cmake)
1515
include(ProcessorCount)
1616
ProcessorCount(PARALLEL_PROCESSES)
1717

18-
set(NPU_COMPILER_BINARY_DIR "${NPU_PLUGIN_PREFIX_DIR}/build-cid")
18+
set(NPU_COMPILER_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/build_npu_compiler")
1919
file(MAKE_DIRECTORY ${NPU_COMPILER_BINARY_DIR})
2020

21-
set(NPU_COMPILER_INCLUDE_DIR "${NPU_PLUGIN_SOURCE_DIR}/src/vpux_driver_compiler/include")
22-
file(MAKE_DIRECTORY ${NPU_COMPILER_INCLUDE_DIR})
23-
2421
set(THREADING "TBB" CACHE STRING "Build NPU Compiler with specific THREADING option")
2522

26-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE})
27-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DCMAKE_MAKE_PROGRAM:FILEPATH=${CMAKE_MAKE_PROGRAM})
28-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DBUILD_COMPILER_FOR_DRIVER=ON)
29-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DBUILD_SHARED_LIBS=OFF)
30-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DCMAKE_BUILD_TYPE=Release)
31-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_CLANG_FORMAT=OFF)
32-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_GAPI_PREPROCESSING=OFF)
33-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_HETERO=OFF)
34-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_INTEL_CPU=OFF)
35-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_INTEL_GNA=OFF)
36-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_INTEL_GPU=OFF)
37-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_IR_V7_READER=OFF)
38-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_MULTI=OFF)
39-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_OV_IR_FRONTEND=ON)
40-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_OV_ONNX_FRONTEND=OFF)
41-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_OV_PADDLE_FRONTEND=OFF)
42-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_OV_TF_FRONTEND=OFF)
43-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_OV_TF_LITE_FRONTEND=OFF)
44-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_PYTHON=OFF)
45-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_TEMPLATE=OFF)
46-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_TESTS=OFF)
47-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_WHEEL=OFF)
48-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DENABLE_NCC_STYLE=OFF)
49-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DTHREADING=${THREADING})
50-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DOPENVINO_EXTRA_MODULES=${NPU_PLUGIN_SOURCE_DIR})
51-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DOUTPUT_ROOT=${NPU_COMPILER_BINARY_DIR})
52-
53-
# TODO: Temporary WA for building LLVM from plugin source
54-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -DLLVM_ENABLE_ZLIB=OFF)
23+
set(NPU_COMPILER_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/npu_compiler)
24+
set(NPU_COMPILER_PACKAGE_DIR ${NPU_COMPILER_INSTALL_PREFIX}/cid)
5525

56-
# TODO: Temporary WA for buidling NPU tools that tries to find gflags dependency in system
57-
list(APPEND NPU_COMPILER_CMAKE_FLAGS -Dgflags_DIR=${CMAKE_CURRENT_SOURCE_DIR}/openvino_modules)
26+
include(ExternalProject)
5827

5928
ExternalProject_Add(
6029
npu_compiler_build
6130
DOWNLOAD_COMMAND ""
62-
DEPENDS npu_plugin_source openvino_source
63-
PREFIX ${OPENVINO_PREFIX_DIR}
64-
SOURCE_DIR ${OPENVINO_SOURCE_DIR}
31+
DEPENDS npu_compiler_source ${NPU_COMPILER_BUILD_DEPENDS}
32+
SOURCE_DIR ${NPU_COMPILER_OPENVINO_SOURCE_DIR}
6533
BINARY_DIR ${NPU_COMPILER_BINARY_DIR}
66-
CMAKE_ARGS ${NPU_COMPILER_CMAKE_FLAGS}
34+
CMAKE_ARGS
35+
-D CMAKE_BUILD_TYPE=Release
36+
-D CMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
37+
-D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
38+
-D BUILD_COMPILER_FOR_DRIVER=ON
39+
-D BUILD_SHARED_LIBS=OFF
40+
# CLANG_FORMAT and NCC_STYLE is set to OFF to avoid LLVMDemangle doubled target issue
41+
-D ENABLE_CLANG_FORMAT=OFF
42+
-D ENABLE_NCC_STYLE=OFF
43+
# Copied from "how_to_build_driver_compiler" document
44+
-D ENABLE_AUTO=OFF
45+
-D ENABLE_AUTO_BATCH=OFF
46+
-D ENABLE_BLOB_DUMP=OFF
47+
-D ENABLE_FUNCTIONAL_TESTS=OFF
48+
-D ENABLE_HETERO=OFF
49+
-D ENABLE_INTEL_CPU=OFF
50+
-D ENABLE_INTEL_GPU=OFF
51+
-D ENABLE_JS=OFF
52+
-D ENABLE_MULTI=OFF
53+
-D ENABLE_INTEL_NPU_PROTOPIPE=OFF
54+
-D ENABLE_OV_IR_FRONTEND=ON
55+
-D ENABLE_OV_JAX_FRONTEND=OFF
56+
-D ENABLE_OV_ONNX_FRONTEND=OFF
57+
-D ENABLE_OV_PADDLE_FRONTEND=OFF
58+
-D ENABLE_OV_PYTORCH_FRONTEND=OFF
59+
-D ENABLE_OV_TF_FRONTEND=OFF
60+
-D ENABLE_OV_TF_LITE_FRONTEND=OFF
61+
-D ENABLE_PROXY=OFF
62+
-D ENABLE_SAMPLES=OFF
63+
-D ENABLE_TBBBIND_2_5=OFF
64+
-D ENABLE_TEMPLATE=OFF
65+
-D ENABLE_TESTS=OFF
66+
# WA in case libgflags is installed in system
67+
-D gflags_DIR=${CMAKE_CURRENT_SOURCE_DIR}/openvino_modules
68+
-D OPENVINO_EXTRA_MODULES=${NPU_COMPILER_SOURCE_DIR}
69+
-D OUTPUT_ROOT=${NPU_COMPILER_BINARY_DIR}
70+
-D THREADING=${THREADING}
6771
BUILD_COMMAND
68-
${CMAKE_COMMAND}
72+
${CMAKE_COMMAND}
6973
--build ${NPU_COMPILER_BINARY_DIR}
70-
--target npu_driver_compiler
74+
--config Release
75+
--target compilerTest profilingTest vpuxCompilerL0Test loaderTest
7176
--parallel ${PARALLEL_PROCESSES}
7277
INSTALL_COMMAND
73-
cp ${NPU_COMPILER_BINARY_DIR}/bin/intel64/Release/libnpu_driver_compiler.so
74-
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/
75-
BUILD_BYPRODUCTS
76-
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libnpu_driver_compiler.so)
78+
${CMAKE_COMMAND}
79+
--install ${NPU_COMPILER_BINARY_DIR}
80+
--prefix ${NPU_COMPILER_INSTALL_PREFIX}
81+
--component CiD
82+
BYPRODUCTS
83+
${NPU_COMPILER_PACKAGE_DIR}/lib/libnpu_driver_compiler.so
84+
${NPU_COMPILER_PACKAGE_DIR}/vpux_elf/lib/Release/libnpu_elf.a
85+
)
86+
87+
add_dependencies(npu_compiler npu_compiler_build)
88+
89+
# Extra command to prepare a standalone package with NPU compiler
90+
set(NPU_COMPILER_PACKAGE_NAME "npu-drv-compiler-${TARGET_DISTRO}-${NPU_COMPILER_TAG}-${BUILD_NUMBER}")
91+
92+
add_custom_target(npu_compiler_package
93+
COMMAND
94+
tar -C ${NPU_COMPILER_INSTALL_PREFIX} -czf ${CMAKE_BINARY_DIR}/${NPU_COMPILER_PACKAGE_NAME}.tar.gz --transform='s,/cid,/npu_compiler,' ./cid/
95+
DEPENDS npu_compiler_build
96+
BYPRODUCTS ${CMAKE_BINARY_DIR}/${NPU_COMPILER_PACKAGE_NAME}.tar.gz)
7797

78-
set(NPU_COMPILER_DEPENDENCY npu_compiler_build)
79-
list(APPEND NPU_COMPILER_LIBS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libnpu_driver_compiler.so)
98+
install(
99+
FILES ${CMAKE_BINARY_DIR}/${NPU_COMPILER_PACKAGE_NAME}.tar.gz
100+
DESTINATION .
101+
COMPONENT npu_compiler_package
102+
EXCLUDE_FROM_ALL)

0 commit comments

Comments
 (0)