Results 1 to 2 of 2

Thread: DPUs, IPUsNPUs, QPUs, TPUs, VPUs: What are they, and what are they good for in BOINC?

  1. #1
    Join Date
    Sep 2010
    Location
    Leiden, the Netherlands
    Posts
    4,372

    DPUs, IPUs, NPUs, QPUs, TPUs, VPUs: What are they, what are they good for in BOINC?

    AI (artificial Intelligence) and ML (Machine Learning) are quite big in IT nowadays and can be found on various hardware platforms.
    But what are these DPUs, IPUs, NPUs, QPUs, TPUs and VPUs, and what are they good for in BOINC?
    TL, DR: No, they don't work with BOINC -yet.
    DPU
    DPUs, or data processing units, are a new class of programmable processors and will join CPUs and GPUs as one of the three pillars of computing. DPUs can be used as stand-alone embedded processors, but are more often incorporated into SmartNICs, network interface controllers used as critical components in a next-generation servers. You won't find them in your ARM or RISC-V based SBCs yet, nor in your x86-64 PC, but perhaps in your (dedicated AI) server

    IPU
    IPUs, Intelligence Processing Units, are highly flexible, easy-to-use highly parallel processors designed from the ground up for AI workload. But it is in fact a vendor-specific NPU, mainly known by GraphCore products. You won't find them in your ARM or RISC-V based SBCs, or in your x86-64 PC or server yet either.

    NPU
    NPUs, in the meaning of Neural Processing Unit, are AI accelerators. It is a specialized hardware accelerator designed to accelerate artificial intelligence and machine learning applications, including artificial neural networks and machine vision. NPUs sometimes go by similar names such as a tensor processing unit (TPU), neural network processor (NNP) and intelligence processing unit (IPU) as well as vision processing unit (VPU) and graph processing unit (GPU).
    There are a lot of new SBCs that have a NPU within the SOC they are based on as e.g. the Amlogic A311D, or the Rockchip RK3399Pro, RK3566, RK3568 and RK3588. Other boards have an extra NPU, such as the Orange Pi 4B (a Gyrfalcon Lightspeeur 2801S).

    QPU
    QPUs, Quantum Processing Units, are physical chips that contain a number of interconnected qubits. They are foundational components of a full quantum computer, a whole different ball game.
    They are the future of High Performance Computing, and hopefully of BOINC too -but in that case the far future.

    TPU
    TPUs, Tensor Processing Units, are AI accelerator application-specific integrated circuits (ASICs) developed by Google specifically for their neural network machines. But it is in fact again a vendor-specific NPU. There are complete SBCs with a Google TPU in them: the Google Coral Dev Boards and the ASUS Tinker Edge T. You can also buy them as USB stick accelerator, or in mini PCIe or M.2 format for in your x86-64 PC or server.

    VPU
    VPUs, Vision Processing Units, are a class of microprocessors. It is a specific type of AI accelerator, designed to accelerate machine vision tasks. The Intel Movidius Neural Compute USB Sticks NCS and NCS2 are examples.
    They too are in fact vendor-specific NPUs.
    Last edited by Dirk Broer; 08-01-2022 at 03:45 PM.


  2. #2
    Join Date
    Sep 2010
    Location
    Leiden, the Netherlands
    Posts
    4,372
    TPUs in the Wild, or: How to get hold of a TPU?

    A. Buy a Google Coral Dev Board. You have the choice between a 1GB model and a 4GB model. You can also choose for the ASUS Tinker Edge T, that only has a 1GB version.

    Both boards have a NXP i.MX 8M SOC (a quad-core Cortex-A53, with Cortex-M4F copro), with an Integrated GC7000 Lite Graphics GPU and a Google Edge TPU coprocessor of some 4 TOPS (int8) @2 TOPS per watt.
    The Coral board runs Mendel Linux, the ASUS board runs Debian 9 (according to their webpage. Might be Linaro Debian); the Coral board needs a 5V DC USB Type-C power supply, the ASUS broad needs a 12~19v DC Power Input Jack (5.5/2.5mm)

    B. Buy a Coral USB Accelerator. It has the same Google Edge TPU coprocessor of some 4 TOPS (int8) @2 TOPS per watt, and has a USB 3.0 Type-C connector for data and power.
    It can be used on both Windows, MacOS x86-64 systems, as well as all platforms running Debian -including the before mentioned Coral Dev and Tinker Edge Boards.

    C. Buy a Coral Mini PCIe Accelerator. It has that same Google Edge TPU coprocessor of some 4 TOPS (int8) @2 TOPS per watt, and has a Mini PCIe connector for data and power.
    Integrates with any Debian-based Linux or Windows 10 system with a compatible card module slot.

    D. Buy a Coral M.2 Accelerator with A+E-, or the one with B+M-key. Both have again that same Google Edge TPU coprocessor of some 4 TOPS (int8) @2 TOPS per watt, but now with either a M.2 A+E-, or a B+M-key connector for data and power. Integrates with any Debian-based Linux or Windows 10 system with a compatible card module slot.

    E. Buy the Coral M.2 Accelerator with Dual Edge TPU. It has two Google Edge TPU coprocessors of some 4 TOPS (int8) @2 TOPS per watt each, but has a M.2 E-key connector for data and power.
    Integrates with any Debian-based Linux or Windows 10 system with a compatible card module slot.
    Mind you: Although the M.2 Specification (section 5.1.2) declares E-key sockets provide two instances of PCIe x1, most manufacturers provide only one. To use both Edge TPUs, be sure your socket connects both instances to the host!

    If this technology does take off BOINC-wise, ASUS has this PCIe card that takes four or eight of these Dual Edge TPUs aboard, depending on the model !
    See Linus from Linus Tech Tips trying to have fun with it
    See Jeff Geerling struggling with it on a Seaberry

    F. For those of us who experiment with Arduinos and/or Robots: there are also the Dev Board Mini, based on a MediaTek 8167s SoC (Quad-core Arm Cortex-A35), and the Dev Board Micro, based on a NXP i.MX RT1176 (Cortex-M7 and Cortex-M4)


    BTW: Coral TPUs support the TensorFlow Lite API
    Last edited by Dirk Broer; 08-02-2022 at 07:45 AM.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •