Intel NPU Driver 1.13 Released For Core Ultra Linux Systems

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • phoronix
    Administrator
    • Jan 2007
    • 67369

    Intel NPU Driver 1.13 Released For Core Ultra Linux Systems

    Phoronix: Intel NPU Driver 1.13 Released For Core Ultra Linux Systems

    Intel on Friday released an updated user-space driver for their Neural Processing Unit (NPU) found with Core Ultra SoCs. This user-space driver code works with the IVPU accelerator kernel driver for opening up the Intel NPU for helping speed-up AI workloads on Linux...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite
  • souenzzo
    Phoronix Member
    • Jul 2013
    • 88

    #2
    Anyone know how to actually develop a program that uses this kind of NPU? I couldn't find anything about it.

    It requires some proprietary-like SDK like CUDA? It shows up in your system as a GPU do?



    Comment

    • satadru
      Junior Member
      • Aug 2020
      • 23

      #3
      Originally posted by souenzzo View Post
      Anyone know how to actually develop a program that uses this kind of NPU? I couldn't find anything about it.

      It requires some proprietary-like SDK like CUDA? It shows up in your system as a GPU do?


      I believe OpenVINO can use it:

      Comment

      • elvis
        Phoronix Member
        • Jun 2007
        • 71

        #4
        Originally posted by satadru View Post

        I believe OpenVINO can use it:

        https://en.m.wikipedia.org/wiki/OpenVINO
        Yup. These "NPUs" (although the Intel driver calls them "VPUs", but it's all marketing nonsense anyway), are similar to GPUs. You don't write software for a GPU. You write software for APIs like CUDA, DirectX, Vulkan, OpenCL, VAAPI, etc, and they talk to the GPU.

        As an example, Frigate is an open source security camera / NVR system, with support for object detection and classification. Frigate supports a number of APIs to accelerate object detection, including Intel's open source OpenVINO:

        Frigate supports multiple different detectors that work on different types of hardware:


        If you have a CPU with a compatible NPU on board like my "Intel Core Ultra 7 258V" (according to "lscpu"), the "intel_vpu" kernel module exposes the NPU as a "/dev/accel/accel0" device (similar to "/dev/dri" devices). Applications can then use that via OpenVINO in the same way that things can use "/dev/dri" devices via APIs like VAAPI.

        Worth noting that Intel OpenVINO also supports some AMD NPUs as well, which is quite nice. Intel get a lot of criticism for things in the open source world, but on the whole they do an excellent job of freely providing a lot of open source drivers and APIs for interesting software projects. The biggest hurdle with any of these tools is both wide-scale hardware compatibility and integration into upstream projects (things like PyTorch, Tensorflow, OpenCV, etc). Open sourcing these APIs is a great way to lower the barrier to entry for other projects to then be able to utilise this hardware cheaply and quickly. If only Nvidia could learn from this.

        Comment

        • souenzzo
          Phoronix Member
          • Jul 2013
          • 88

          #5
          Thank you all

          From OpenVINO, I reached the intel-npu-acceleration-library, which is what I really wanted: a simple example of matrix multiplication in a NPU

          Comment

          Working...
          X