This guide introduces Driver Compiler (also known as Compiler in Driver or CiD) for Intel® Neural Processing Unit (NPU) devices. Driver Compiler is a set of C++ libraries providing a common API that allows the User Mode Driver to access compiler functions through vcl* interface methods. The action here is essentially compiling the IR format to the blob format.
To learn more about Driver Compiler, please see intel_npu/README.md in OpenVINO Project.
The main components for Driver Compiler are:
- CHANGES.txt contains the Driver Compiler history of changes.
- docs - documents that describe building and testing the Driver Compiler.
- loader - contains cmakefile to build and pack the elf from thirdparty used for some testing purposes.
- vpux_compiler_l0 - contains source files of Driver Compiler.
- test - contains test tools.
You can refer to the API documentation for the usage workflow and detailed API descriptions.
It is recommended to read the requirements section beforehand to ensure that you meet the prerequisites for local building.
Here are the steps to clone repositories and configure environment variables before building.
Driver Compiler provides npu_driver_compiler, compilerTest, profilingTest and loaderTest to compile network and test. To build Driver Compiler-related targets locally, please refer to
-
(Recommended) Build using CMake Presets, requiring CMake version 3.19 or higher.
-
Build with cmake options
-
(Advanced) Build with LLVM Cache
Please refer to how to sideload the Driver Compiler.
Please refer to how to test.
Please refer to how to test with legacy methods.
Please refer to how to debug.
Please refer to how to debug with legacy methods.