Releases: intel/linux-npu-driver
Linux NPU Driver v1.10.1
Note
Linux NPU Driver v1.10.1 contains a fix for LLM in Lunar Lake platforms
Validated on following configuration
Platform | System | Kernel | Firmware |
---|---|---|---|
Meteor Lake | Ubuntu22.04 LTS | 6.8.0-49-generic | 20241025*MTL_CLIENT_SILICON-release*1830*ci_tag_ud202444_vpu_rc_20241025_1830*ae072b315bc |
Ubuntu24.04 LTS | 6.8.0-49-generic | 20241025*MTL_CLIENT_SILICON-release*1830*ci_tag_ud202444_vpu_rc_20241025_1830*ae072b315bc |
|
Arrow Lake | Ubuntu22.04 LTS | 6.8.0-49-generic | 20241025*MTL_CLIENT_SILICON-release*1830*ci_tag_ud202444_vpu_rc_20241025_1830*ae072b315bc |
Ubuntu24.04 LTS | 6.8.0-49-generic | 20241025*MTL_CLIENT_SILICON-release*1830*ci_tag_ud202444_vpu_rc_20241025_1830*ae072b315bc |
|
Lunar Lake | Ubuntu22.04 LTS | 6.8.0-49-generic | Oct 25 2024*NPU40xx*ci_tag_ud202444_vpu_eng_20241025_1500*ae072b315bc135fb4cc60cfa758b2a926bd6498f |
Ubuntu24.04 LTS | 6.8.0-49-generic | Oct 25 2024*NPU40xx*ci_tag_ud202444_vpu_eng_20241025_1500*ae072b315bc135fb4cc60cfa758b2a926bd6498f |
Common:
Component | Version |
---|---|
Level Zero | v1.17.44 |
OpenVINO Archive Package | 2024.5.0 |
OpenVINO Python Package | 2024.5.0 |
OpenVINO built from source | OpenVINO_rev.0ebff04 |
NPU Compiler | npu_ud_2024_44_rc2 built using OpenVINO_rev.0ebff04 |
GPU Driver | 24.45.31740.9 |
Installation procedure
- Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu
- Download all *.deb package
- Ubuntu22.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.1/intel-driver-compiler-npu_1.10.1.20241220-12430270326_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.1/intel-fw-npu_1.10.1.20241220-12430270326_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.1/intel-level-zero-npu_1.10.1.20241220-12430270326_ubuntu22.04_amd64.deb
- Ubuntu24.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.1/intel-driver-compiler-npu_1.10.1.20241220-12430270326_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.1/intel-fw-npu_1.10.1.20241220-12430270326_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.1/intel-level-zero-npu_1.10.1.20241220-12430270326_ubuntu24.04_amd64.deb
- Install libtbb12 which is a dependency for intel-driver-compiler-npu
sudo apt update
sudo apt install libtbb12
- Install all packages
sudo dpkg -i *.deb
- Install Level Zero if it is not in the system
# check if Level Zero is installed
dpkg -l level-zero
# download and install package if Level Zero is missing
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.44/level-zero_1.17.44+u22.04_amd64.deb
dpkg -i level-zero*.deb
- Reboot
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
/dev/accel/accel0
# to receive intel_vpu state
dmesg
User access to the device
As a root user, this step can be skipped.
The new device /dev/accel/accel0
requires manual setting of permissions access.
The accel devices should be in the "render" group in Ubuntu:
# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)
The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:
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
Tip
In case of NPU is not visible, always check the access to the device with following command:
$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Mar 22 13:22 /dev/accel/accel0
If render
is missing, or crw-rw----
is not set, please repeat the steps to set the access to the device.
Important
For more information check README.md
Linux NPU Driver v1.10.0
Validated on following configuration
Platform | System | Kernel | Firmware |
---|---|---|---|
Meteor Lake | Ubuntu22.04 LTS | 6.8.0-47-generic | 20241025*MTL_CLIENT_SILICON-release*1830*ci_tag_ud202444_vpu_rc_20241025_1830*ae072b315bc |
Ubuntu24.04 LTS | 6.8.0-47-generic | 20241025*MTL_CLIENT_SILICON-release*1830*ci_tag_ud202444_vpu_rc_20241025_1830*ae072b315bc |
|
Arrow Lake | Ubuntu22.04 LTS | 6.8.0-47-generic | 20241025*MTL_CLIENT_SILICON-release*1830*ci_tag_ud202444_vpu_rc_20241025_1830*ae072b315bc |
Ubuntu24.04 LTS | 6.8.0-47-generic | 20241025*MTL_CLIENT_SILICON-release*1830*ci_tag_ud202444_vpu_rc_20241025_1830*ae072b315bc |
|
Lunar Lake | Ubuntu22.04 LTS | 6.8.0-47-generic | Oct 25 2024*NPU40xx*ci_tag_ud202444_vpu_eng_20241025_1500*ae072b315bc135fb4cc60cfa758b2a926bd6498f |
Ubuntu24.04 LTS | 6.8.0-47-generic | Oct 25 2024*NPU40xx*ci_tag_ud202444_vpu_eng_20241025_1500*ae072b315bc135fb4cc60cfa758b2a926bd6498f |
Common:
Component | Version |
---|---|
Level Zero | v1.17.44 |
OpenVINO Archive Package | 2024.4.0 |
OpenVINO Python Package | 2024.4.0 |
OpenVINO built from source | OpenVINO_rev.0ebff04 |
NPU Compiler | npu_ud_2024_44_rc1 built using OpenVINO_rev.0ebff04 |
GPU Driver | 24.39.31294.12 |
Installation procedure
- Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu
- Download all *.deb package
- Ubuntu22.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.0/intel-driver-compiler-npu_1.10.0.20241107-11729849322_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.0/intel-fw-npu_1.10.0.20241107-11729849322_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.0/intel-level-zero-npu_1.10.0.20241107-11729849322_ubuntu22.04_amd64.deb
- Ubuntu24.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.0/intel-driver-compiler-npu_1.10.0.20241107-11729849322_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.0/intel-fw-npu_1.10.0.20241107-11729849322_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.10.0/intel-level-zero-npu_1.10.0.20241107-11729849322_ubuntu24.04_amd64.deb
- Install libtbb12 which is a dependency for intel-driver-compiler-npu
sudo apt update
sudo apt install libtbb12
- Install all packages
sudo dpkg -i *.deb
- Install Level Zero if it is not in the system
# check if Level Zero is installed
dpkg -l level-zero
# download and install package if Level Zero is missing
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.44/level-zero_1.17.44+u22.04_amd64.deb
dpkg -i level-zero*.deb
- Reboot
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
/dev/accel/accel0
# to receive intel_vpu state
dmesg
User access to the device
As a root user, this step can be skipped.
The new device /dev/accel/accel0
requires manual setting of permissions access.
The accel devices should be in the "render" group in Ubuntu:
# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)
The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:
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
Tip
In case of NPU is not visible, always check the access to the device with following command:
$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Mar 22 13:22 /dev/accel/accel0
If render
is missing, or crw-rw----
is not set, please repeat the steps to set the access to the device.
Important
For more information check README.md
Linux NPU Driver v1.8.0
Validated on following configuration
Platform | System | Kernel | Firmware |
---|---|---|---|
Meteor Lake | Ubuntu22.04 LTS | 6.8.0-40-generic | 20240820*MTL_CLIENT_SILICON-release*1902*ci_tag_ud202436_vpu_rc_20240820_1902*a4634b5107c |
Ubuntu24.04 LTS | 6.8.0-44-generic | 20240820*MTL_CLIENT_SILICON-release*1902*ci_tag_ud202436_vpu_rc_20240820_1902*a4634b5107c |
|
Arrow Lake | Ubuntu22.04 LTS | 6.8.0-40-generic | 20240820*MTL_CLIENT_SILICON-release*1902*ci_tag_ud202436_vpu_rc_20240820_1902*a4634b5107c |
Ubuntu24.04 LTS | 6.8.0-44-generic | 20240820*MTL_CLIENT_SILICON-release*1902*ci_tag_ud202436_vpu_rc_20240820_1902*a4634b5107c |
|
Lunar Lake | Ubuntu22.04 LTS | 6.8.0-40-generic | Aug 20 2024*LNL*ci_tag_ud202436_vpu_rc_20240820_1902*a4634b5107c7ded2bbfa7d198e37088ec258749a |
Ubuntu24.04 LTS | 6.8.0-44-generic | Aug 20 2024*LNL*ci_tag_ud202436_vpu_rc_20240820_1902*a4634b5107c7ded2bbfa7d198e37088ec258749a |
Common:
Component | Version |
---|---|
Level Zero | v1.17.6 |
OpenVINO Archive Package | 2024.3.0 |
OpenVINO Python Package | 2024.3.0 |
OpenVINO built from source | OpenVINO_2024.3.0_rev.7edb05f |
NPU Compiler | npu_ud_2024_36_rc1 built using OpenVINO_2024.3.0_rev.7edb05f |
GPU Driver | 24.26.30049.6 |
Installation procedure
- Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu
- Download all *.deb package
- Ubuntu22.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.8.0/intel-driver-compiler-npu_1.8.0.20240916-10885588273_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.8.0/intel-fw-npu_1.8.0.20240916-10885588273_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.8.0/intel-level-zero-npu_1.8.0.20240916-10885588273_ubuntu22.04_amd64.deb
- Ubuntu24.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.8.0/intel-driver-compiler-npu_1.8.0.20240916-10885588273_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.8.0/intel-fw-npu_1.8.0.20240916-10885588273_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.8.0/intel-level-zero-npu_1.8.0.20240916-10885588273_ubuntu24.04_amd64.deb
- Install libtbb12 which is a dependency for intel-driver-compiler-npu
sudo apt update
sudo apt install libtbb12
- Install all packages
sudo dpkg -i *.deb
- Install Level Zero if it is not in the system
# check if Level Zero is installed
dpkg -l level-zero
# download and install package if Level Zero is missing
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.6/level-zero_1.17.6+u22.04_amd64.deb
dpkg -i level-zero*.deb
- Reboot
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
/dev/accel/accel0
# to receive intel_vpu state
dmesg
User access to the device
As a root user, this step can be skipped.
The new device /dev/accel/accel0
requires manual setting of permissions access.
The accel devices should be in the "render" group in Ubuntu:
# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)
The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:
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
Tip
In case of NPU is not visible, always check the access to the device with following command:
$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Mar 22 13:22 /dev/accel/accel0
If render
is missing, or crw-rw----
is not set, please repeat the steps to set the access to the device.
▪️ vpu-umd-test ➡️ npu-umd-test
▪️ vpu-kmd-test ➡️ npu-kmd-test
Important
For more information check README.md
Linux NPU Driver v1.6.0
Validated on following configuration
Platform | System | Kernel | Firmware |
---|---|---|---|
Meteor Lake | Ubuntu22.04 LTS | 6.5.0-45-generic | 20240726*MTL_CLIENT_SILICON-release*0004*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e |
Ubuntu24.04 LTS | 6.8.0-40-generic | 20240726*MTL_CLIENT_SILICON-release*0004*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e |
|
Arrow Lake | Ubuntu22.04 LTS | 6.5.0-45-generic | 20240726*MTL_CLIENT_SILICON-release*0004*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e |
Ubuntu24.04 LTS | 6.8.0-40-generic | 20240726*MTL_CLIENT_SILICON-release*0004*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e |
|
Lunar Lake | Ubuntu22.04 LTS | 6.8.12 | Jul 26 2024*LNL*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e2e6c5a6e920cfa427bb4db2547c13 |
Ubuntu24.04 LTS | 6.8.0-40-generic | Jul 26 2024*LNL*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e2e6c5a6e920cfa427bb4db2547c13 |
Common:
Component | Version |
---|---|
Level Zero | v1.17.6 |
OpenVINO Archive Package | 2024.3.0 |
OpenVINO Python Package | 2024.3.0 |
OpenVINO built from source | OpenVINO_2024.3.0_rev.7edb05f |
NPU Compiler | npu_ud_2024_32_rc1 built using OpenVINO_2024.3.0_rev.7edb05f |
GPU Driver | 24.26.30049.6 |
Installation procedure
- Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu
- Download all *.deb package
- Ubuntu22.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.6.0/intel-driver-compiler-npu_1.6.0.20240814-10390978568_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.6.0/intel-fw-npu_1.6.0.20240814-10390978568_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.6.0/intel-level-zero-npu_1.6.0.20240814-10390978568_ubuntu22.04_amd64.deb
- Ubuntu24.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.6.0/intel-driver-compiler-npu_1.6.0.20240814-10390978568_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.6.0/intel-fw-npu_1.6.0.20240814-10390978568_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.6.0/intel-level-zero-npu_1.6.0.20240814-10390978568_ubuntu24.04_amd64.deb
- Install libtbb12 which is a dependency for intel-driver-compiler-npu
sudo apt update
sudo apt install libtbb12
- Install all packages
sudo dpkg -i *.deb
- Install Level Zero if it is not in the system
# check if Level Zero is installed
dpkg -l level-zero
# download and install package if Level Zero is missing
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.6/level-zero_1.17.6+u22.04_amd64.deb
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.6/level-zero-devel_1.17.6+u22.04_amd64.deb
dpkg -i level-zero*.deb
- Reboot
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
/dev/accel/accel0
# to receive intel_vpu state
dmesg
User access to the device
As a root user, this step can be skipped.
The new device /dev/accel/accel0
requires manual setting of permissions access.
The accel devices should be in the "render" group in Ubuntu:
# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)
The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:
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
Tip
In case of NPU is not visible, always check the access to the device with following command:
$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Mar 22 13:22 /dev/accel/accel0
If render
is missing, or crw-rw----
is not set, please repeat the steps to set the access to the device.
Important
For more information check README.md
Linux NPU Driver v1.5.1
Validated on following configuration
Platform | System | Kernel | Firmware |
---|---|---|---|
Meteor Lake | Ubuntu22.04 | 6.5.0-41-generic | 20240611*MTL_CLIENT_SILICON-release*0003*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f2747 |
Ubuntu24.04 | 6.8.0-35-generic | 20240611*MTL_CLIENT_SILICON-release*0003*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f2747 |
|
Arrow Lake | Ubuntu22.04 | 6.8.12 | 20240611*MTL_CLIENT_SILICON-release*0003*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f2747 |
Ubuntu24.04 | 6.8.0-35-generic | 20240611*MTL_CLIENT_SILICON-release*0003*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f2747 |
|
Lunar Lake | Ubuntu22.04 | 6.8.12 | Jun 11 2024*LNL*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f27471d4127d8d92a8dc679b861ef43e43 |
Ubuntu24.04 | 6.8.12 | Jun 11 2024*LNL*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f27471d4127d8d92a8dc679b861ef43e43 |
Common:
Component | Version |
---|---|
Level Zero | v1.17.6 |
OpenVINO Archive Package | 2024.2.0 only in Ubuntu22.04 |
OpenVINO Python Package | 2024.2.0 only in Ubuntu24.04 |
OpenVINO built from source | OpenVINO 2024.2.0.dev20240513 |
NPU Compiler | npu_ud_2024_24_rc3 built using OpenVINO 2024.2.0.dev20240513 |
Installation procedure
- Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu
- Download all *.deb package
- Ubuntu22.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.1/intel-driver-compiler-npu_1.5.1.20240708-9842236399_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.1/intel-fw-npu_1.5.1.20240708-9842236399_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.1/intel-level-zero-npu_1.5.1.20240708-9842236399_ubuntu22.04_amd64.deb
- Ubuntu24.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.1/intel-driver-compiler-npu_1.5.1.20240708-9842236399_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.1/intel-fw-npu_1.5.1.20240708-9842236399_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.1/intel-level-zero-npu_1.5.1.20240708-9842236399_ubuntu24.04_amd64.deb
- Install libtbb12 which is a dependency for intel-driver-compiler-npu
sudo apt update
sudo apt install libtbb12
- Install all packages
sudo dpkg -i *.deb
- Install Level Zero if it is not in the system
# check if Level Zero is installed
dpkg -l level-zero
# download and install package if Level Zero is missing
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.6/level-zero_1.17.6+u22.04_amd64.deb
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.6/level-zero-devel_1.17.6+u22.04_amd64.deb
dpkg -i level-zero*.deb
- Reboot
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
/dev/accel/accel0
# to receive intel_vpu state
dmesg
User access to the device
As a root user, this step can be skipped.
The new device /dev/accel/accel0
requires manual setting of permissions access.
The accel devices should be in the "render" group in Ubuntu:
# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)
The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:
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
Tip
In case of NPU is not visible, always check the access to the device with following command:
$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Mar 22 13:22 /dev/accel/accel0
If render
is missing, or crw-rw----
is not set, please repeat the steps to set the access to the device.
Important
For more information check README.md
Linux NPU Driver v1.5.0
Validated on following configuration
Platform | System | Kernel | Level Zero | OpenVINO | Firmware |
---|---|---|---|---|---|
Meteor Lake | Ubuntu22.04 | v6.5.0-35-generic | v1.17.2 | 2024.1 | 20240611*MTL_CLIENT_SILICON-release*0003*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f2747 |
Arrow Lake | Ubuntu22.04 | v6.8.12 | v1.17.2 | 2024.1 | 20240611*MTL_CLIENT_SILICON-release*0003*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f2747 |
Lunar Lake | Ubuntu22.04 | v6.8.12 | v1.17.2 | 2024.1 | Jun 11 2024*LNL*ci_tag_ud202424_vpu_rc_20240611_0003*f3e8a8f27471d4127d8d92a8dc679b861ef43e43 |
NPU Driver Compiler package
The NPU Driver Compiler package (intel-driver-compiler-npu*.deb) has been built using OpenVINO 2024.2.0.dev20240513
Installation procedure on Ubuntu22.04
- Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu
- Download all *.deb packages
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.0/intel-driver-compiler-npu_1.5.0.20240619-9582784383_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.0/intel-fw-npu_1.5.0.20240619-9582784383_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.0/intel-level-zero-npu_1.5.0.20240619-9582784383_ubuntu22.04_amd64.deb
- Install libtbb12 which is a dependency for intel-driver-compiler-npu
sudo apt update
sudo apt install libtbb12
- Install all packages
sudo dpkg -i *.deb
- Install Level Zero if it is not in the system
# check if Level Zero is installed
dpkg -l level-zero
# download and install package if Level Zero is missing
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.2/level-zero_1.17.2+u22.04_amd64.deb
dpkg -i level-zero*.deb
- Reboot
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
/dev/accel/accel0
# to receive intel_vpu state
dmesg
User access to the device
As a root user, this step can be skipped.
The new device /dev/accel/accel0
requires manual setting of permissions access.
The accel devices should be in the "render" group in Ubuntu:
# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)
The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:
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
Tip
In case of NPU is not visible, always check the access to the device with following command:
$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Mar 22 13:22 /dev/accel/accel0
If render
is missing, or crw-rw----
is not set, please repeat the steps to set the access to the device.
Important
For more information check README.md
Linux NPU Driver v1.2.0
Components revisions included in the release
- linux-npu-driver: https://github.com/intel/linux-npu-driver/tree/v1.2.0
- Firmware binary:
firmware/bin/vpu_37xx_v0.0.bin
, version:20240221*MTL_CLIENT_SILICON-release*2101*ci_tag_ud202408_vpu_rc_20240221_2101*845c105994a
- NPU compiler (https://github.com/openvinotoolkit/npu_plugin/tree/mtl_npu_ud_2024_08_rc3) built with OpenVINO 2023.2.0
Tested components
- oneAPI Level Zero Loader - https://github.com/oneapi-src/level-zero/releases/tag/v1.16.1
- Ubuntu 22.04 with Linux kernel v6.8.1 with the
intel_vpu.ko
module enabled
Warning
On Ubuntu22.04 the linux-headers can be ignored from Ubuntu Kernel mainline. They are built for latest Ubuntu distribution
Installation procedure on Ubuntu22.04
- Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu level-zero
- Download all *.deb packages
wget https://github.com/intel/linux-npu-driver/releases/download/v1.2.0/intel-driver-compiler-npu_1.2.0.20240404-8553879914_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.2.0/intel-fw-npu_1.2.0.20240404-8553879914_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.2.0/intel-level-zero-npu_1.2.0.20240404-8553879914_ubuntu22.04_amd64.deb
- Install libtbb12 which is a dependency for intel-driver-compiler-npu
sudo apt update
sudo apt install libtbb12
- Install all packages
sudo dpkg -i *.deb
- Install Level Zero if it is not in the system
# check if Level Zero is installed
dpkg -l level-zero
# download and install package if Level Zero is missing
wget https://github.com/oneapi-src/level-zero/releases/download/v1.16.1/level-zero_1.16.1+u22.04_amd64.deb
dpkg -i level-zero*.deb
- Reboot
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
/dev/accel/accel0
# to receive intel_vpu state
dmesg
User access to the device
As a root user, this step can be skipped.
The new device /dev/accel/accel0
requires manual setting of permissions access.
The accel devices should be in the "render" group in Ubuntu:
# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)
The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:
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
Tip
In case of NPU is not visible, always check the access to the device with following command:
$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Mar 22 13:22 /dev/accel/accel0
If render
is missing, or crw-rw----
is not set, please repeat the steps to set the access to the device.
Additional information
The kernel driver intel_vpu
can be found here in the kernel sources.
In case of any problems, please check README first.
See also
Linux NPU Driver v1.1.0
Components revisions included in the release
- linux-npu-driver - https://github.com/intel/linux-npu-driver/tree/v1.1.0
- Firmware binary:
firmware/bin/vpu_37xx_v0.0.bin
, version:20231031*MTL_CLIENT_SILICON-release*2101*ci_tag_mtl_pv2_vpu_rc_20231031_2101*cb0b783368d
- NPU compiler (openvinotoolkit/npu_compiler@cb47a12) build with OpenVINO 2023.0.2
Tested components
- oneAPI Level Zero Loader - https://github.com/oneapi-src/level-zero/releases/tag/v1.10.0
- Ubuntu 22.04 with Linux kernel 6.6.0 with the
intel_vpu.ko
module enabled - OpenVINO + NPU plugin 2023.2.0 release for Ubuntu22.04
Installation procedure on Ubuntu22.04
- Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu level-zero
- Download all *.deb packages
wget https://github.com/intel/linux-npu-driver/releases/download/v1.1.0/intel-driver-compiler-npu_1.1.0.20231117-6904283384_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.1.0/intel-fw-npu_1.1.0.20231117-6904283384_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.1.0/intel-level-zero-npu_1.1.0.20231117-6904283384_ubuntu22.04_amd64.deb
wget https://github.com/oneapi-src/level-zero/releases/download/v1.10.0/level-zero_1.10.0+u22.04_amd64.deb
- Install all packages
dpkg -i *.deb
Warning
The NPU driver v1.1.0 requires to use level-zero v1.10.0 version.
To check what is installed, run:
$ dpkg -l level-zero
ii level-zero 1.10.0 amd64 oneAPI Level Zero
This issue will be solved in next driver release and any level-zero loader can be used.
After successful installation of packages, we recommend to do the machine reboot.
After that, the intel_vpu module should work properly with firmware from intel-fw-npu package.
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
# to receive intel_vpu state, check dmesg
dmesg
User access to the device
If you are using the root user, this step can be skipped.
The new device /dev/accel/accel0
requires to set manually permission access.
The accel devices should be in the "render" group in Ubuntu:
# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)
The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:
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
Warning
In case of NPU is not visible, always check the access to the device with following command:
$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Jan 31 15:58 /dev/accel/accel0
If render is missing, or crw-rw---- is not set, repeat the steps to set the access to the device.
Additional information
The kernel driver intel_vpu
can be found here.