Intel NPU Driver Being Updated To Handle Larger AI Workloads
([Intel] 66 Minutes Ago
Intel IVPU Linux Driver)
- Reference: 0001498922
- News link: https://www.phoronix.com/news/Intel-NPU-Bigger-Workloads
- Source link:
Following the recent patch work for [1]enabling the Intel 5th Gen NPU premiering with Panther Lake , a new patch series posted today brings a number of improvements for this Intel neural processing unit driver -- including the ability to handle larger workloads.
A set of patches posted today for the Intel IVPU accelerator driver remove support for the deprecated and unused copy engine, improve the open() performance via lazy allocating MMU page tables, error handling fixes, and support for bigger workloads. Being able to run bigger workloads on the Intel NPU comes with the VPU address ranges being extended.
Today's [2]patch series sums it up as:
- Remove support for deprecated and unused copy engine
- Improved open() performance by lazy allocating MMU page tables
- Error handling fixes in MMU code
- Extend VPU address ranges to allow bigger workloads
The NPU copy engine was deprecated by the NPU firmware and is no longer supported/used. The compute engine is now responsible for all copy engine functionality.
As for allowing bigger workloads to run on the Intel NPU via increasing the DMA address range, the patch sums up the work as:
Increase DMA address range to:
* 128 GB on 37xx (due to MMU limitations)
* 256 GB on other generations
Merge User and DMA ranges on 40xx and above as it is possible to access whole 256 GBs from both FW and DMA.
Increase User range on 37xx from 255MB to 511MB to allow loading very large models.
The Intel NPU 37xx IP is used with Meteor Lake SoCs.
Another patch in the series moves the secondary preemption buffer allocation to the DMA range to allow allocating more command queues with preemption buffers without running out of the address range.
These Intel IVPU driver changes are good news for allowing larger models to run with the Intel NPU hardware. Stay tuned to Phoronix for knowing when these Intel NPU driver changes are upstreamed into the mainline kernel.
[1] https://www.phoronix.com/news/Intel-PantherLake-NPU-Linux-613
[2] https://lore.kernel.org/dri-devel/20241017145817.121590-1-jacek.lawrynowicz@linux.intel.com/
A set of patches posted today for the Intel IVPU accelerator driver remove support for the deprecated and unused copy engine, improve the open() performance via lazy allocating MMU page tables, error handling fixes, and support for bigger workloads. Being able to run bigger workloads on the Intel NPU comes with the VPU address ranges being extended.
Today's [2]patch series sums it up as:
- Remove support for deprecated and unused copy engine
- Improved open() performance by lazy allocating MMU page tables
- Error handling fixes in MMU code
- Extend VPU address ranges to allow bigger workloads
The NPU copy engine was deprecated by the NPU firmware and is no longer supported/used. The compute engine is now responsible for all copy engine functionality.
As for allowing bigger workloads to run on the Intel NPU via increasing the DMA address range, the patch sums up the work as:
Increase DMA address range to:
* 128 GB on 37xx (due to MMU limitations)
* 256 GB on other generations
Merge User and DMA ranges on 40xx and above as it is possible to access whole 256 GBs from both FW and DMA.
Increase User range on 37xx from 255MB to 511MB to allow loading very large models.
The Intel NPU 37xx IP is used with Meteor Lake SoCs.
Another patch in the series moves the secondary preemption buffer allocation to the DMA range to allow allocating more command queues with preemption buffers without running out of the address range.
These Intel IVPU driver changes are good news for allowing larger models to run with the Intel NPU hardware. Stay tuned to Phoronix for knowing when these Intel NPU driver changes are upstreamed into the mainline kernel.
[1] https://www.phoronix.com/news/Intel-PantherLake-NPU-Linux-613
[2] https://lore.kernel.org/dri-devel/20241017145817.121590-1-jacek.lawrynowicz@linux.intel.com/
phoronix