Install the Intel® NPU Driver on Intel® Core™ Ultra Processors

If you want to run OpenVINO™ inferencing applications on the NPU device of Intel® Core™ Ultra processors, you need to install the Intel® NPU driver. If your system does not have an Intel® Core™ Ultra Processor, you should skip this step.

General information on the Intel® NPU driver can be found on the Linux NPU Driver website. The driver consists of the following packages:

  • intel-driver-compiler-npu: Intel® driver compiler for NPU hardware; the driver compiler enables compilation of OpenVINO™ IR models using the Level Zero Graph Extension API.

  • intel-fw-npu: Intel® firmware package for NPU hardware.

  • intel-level-zero-npu: Intel® Level Zero driver for NPU hardware; this library implements the Level Zero API to interact with the NPU hardware.

Note

The installation instructions on the Linux NPU Driver website download the *.deb files for these components, and install the packages from the downloaded files. In consequence, you won’t get any upgrades for these packages without manual interaction. For this reason, it’s better to use packages from an APT package feed, as it is described in the following.

The packages of the Intel® NPU driver are provided by the APT package feed, which you have added to your system when you followed the instructions on page Setup APT Repositories. This APT package feed also provides all dependencies of the Intel® NPU driver packages.

To install the Intel® NPU driver, run the commands:

sudo apt-get install intel-level-zero-npu intel-driver-compiler-npu
Copy to clipboard

After you have installed the driver and rebooted your system, make sure that you execute the steps in the “User access to the device” section on the Linux NPU Driver website. These steps include:

  • Add your user account to the render group:

    sudo usermod -a -G render $USER
    
    Copy to clipboard
  • After this step, log-out and log-in again. Verify that your account belongs to the render group now:

    groups $USER
    
    Copy to clipboard
  • Set the render group for accel device:

    sudo chown root:render /dev/accel/accel0
    sudo chmod g+rw /dev/accel/accel0
    
    Copy to clipboard

The last step must be repeated each time when the module is reloaded or after every reboot. To avoid the manual setup of the group for the accel device, you can configure the following udev rules:

sudo bash -c "echo 'SUBSYSTEM==\"accel\", KERNEL==\"accel*\", GROUP=\"render\", MODE=\"0660\"' > /etc/udev/rules.d/10-intel-vpu.rules"
sudo udevadm control --reload-rules
sudo udevadm trigger --subsystem-match=accel
Copy to clipboard

Now, you can check that the device has been set up with appropriate access rights. Verify that you can see the /dev/accel/accel0 device and that the device belongs to the render group:

$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Jul  1 13:10 /dev/accel/accel0
Copy to clipboard