Dirk Broer
04-20-2022, 11:49 AM
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 (https://en.wikipedia.org/wiki/Data_processing_unit)
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 (https://en.wikichip.org/wiki/neural_processor), mainly known by GraphCore (https://en.wikipedia.org/wiki/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 (https://en.wikipedia.org/wiki/AI_accelerator)
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 (https://en.wikipedia.org/wiki/Quantum_computing)
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 (https://en.wikipedia.org/wiki/Tensor_Processing_Unit)
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 (https://en.wikichip.org/wiki/neural_processor). 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 (https://en.wikipedia.org/wiki/Vision_processing_unit)
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 (https://en.wikichip.org/wiki/neural_processor).
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 (https://en.wikipedia.org/wiki/Data_processing_unit)
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 (https://en.wikichip.org/wiki/neural_processor), mainly known by GraphCore (https://en.wikipedia.org/wiki/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 (https://en.wikipedia.org/wiki/AI_accelerator)
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 (https://en.wikipedia.org/wiki/Quantum_computing)
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 (https://en.wikipedia.org/wiki/Tensor_Processing_Unit)
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 (https://en.wikichip.org/wiki/neural_processor). 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 (https://en.wikipedia.org/wiki/Vision_processing_unit)
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 (https://en.wikichip.org/wiki/neural_processor).