Processors for Artificial Intelligence: Characteristics and Differences

Artificial intelligence has been on the rise in recent years, whether we are talking about Machine Learning or Deep Learning, learning or inference, from a SoC for mobiles to a GPU. Its applications are wide and in different markets. That is why we are going to introduce you to the different types of processors for artificial intelligence, their characteristics and the differences between them.

There are different ways to accelerate artificial intelligence algorithms, some more complex than others, some faster, but less versatile, while the latter are prepared for various utilities. The types of processor that we are going to introduce you are used daily in different places and for different applications.

Any hardware is good for AI

Processors for Artificial Intelligence

Before getting into the different types of hardware for AI we have to bear in mind that basically we are talking about executing programs, so any type of processing unit can execute algorithms dedicated to artificial intelligence, but in the same way that we do not use the CPU to move graphic programs, nor is it done in the face of artificial intelligence.

So the claim that any hardware is used for artificial intelligence is taken with a grain of salt, obviously we can run the algorithms on any hardware, but the level of efficiency is much lower when we talk about more general units and that are not specialized.

In general, it is the units that are designed for the calculation of matrices that have a huge advantage over other types of units when executing artificial intelligence algorithms. More than anything, why at a mathematical level said calculation of linear algebra is used continuously and constantly and repeatedly and believe us, CPUs and GPUs are not optimized for this type of calculations.

First type of processors for AI: systolic arrays

Systolic arrays are a type of unit that we already talked about in the article entitled ” Dedicated processors for AI, what are they and how do they work? ” On this same website that is HardZone, so if you want a more detailed version of We recommend that you read this article where we explain its operation in more detail.

The systolic arrays are based on the same basic concept as the rest of the processors, in this case it is an array of ALUs where each one does not send the result to the registers but to the ALU next to it, except at the ends which is where they enter. and the data to be processed comes out.

This configuration has enormous computing power with respect to the area they occupy and the energy they consume, however its simplicity limits the amount of artificial intelligence algorithms that they can execute, so their capabilities are limited, not in power but in type. neural network they can run and their complexity, not size.

Second type of processors for artificial intelligence: ASICs

NVIDIA RC-18

The second type of specialized AI processors are an evolution of the first type, as with systolic arrays all units are interconnected in a matrix, but with one important difference.

Each element is not an ALU but a complete processor that has its own local memory and communicates with the one next to it. Therefore, in this type of units more complex algorithms for AI can be executed, so there is greater versatility when programming the algorithms with tools such as Tensorflow and Pytorch, but they do not have the excellent ratio of power to area. and the consumption of systolic arrays due to their greater complexity.

Its main advantage? The fact that their units are more complex allows any type of algorithm to be executed, while in the case of systolic arrays their capabilities are limited in this regard. Since these are designed with the area and consumption in mind. In particular, systolic arrays can be found within other types of processors, whereas specialized ASICs are units in themselves.

Third type of processors for artificial intelligence: FPGA

FPGA arquitectura

The third type of specialized processors for AI are FPGAs, not only dedicated chips but also those embedded in SoCs or eFPGAs. The reason for this is that FPGAs by their nature allow several inputs and outputs at the same time and the interconnection between the different elements that make it up thanks to their ability to be configured.

The use of FPGAs configured as processors for AI is not a rarity, for example Microsoft does not use systolic arrays and neither ASICs for AI in its Azure servers but FPGAs. Its biggest disadvantage? Because the cores are configurable, their performance is in terms of area and consumption than the other two solutions.

Its biggest advantage? The fact that being configurable we can make an FPGA behave as an ASIC or as a systolic array, so when the programming capacity of the ASICs is necessary, the FPGA or set of FPGAs can be configured as such, if instead it is necessary the power of the systolic array then the FPGA can be configured as that type of drive.

Fourth type of processors for artificial intelligence: GPUs

NVIDIA Mineria Stock

Graphics cards can also be used for the calculation of algorithms for AI and no, we are not referring to those of NVIDIA and its Tensor Cores, but all calculation with matrices can be vectorized and therefore transformed into a calculation of vectors from the mathematical point of view to be executed in the classic SIMD units in the GPUs. The efficiency is not as great as the other units and its performance in comparison is much lower, but it is higher than that of a CPU.

One of the keys to the use of graphics cards for AI is the support of low-precision data formats, which are not usually used for graphical calculation, but in processors for artificial intelligence. This means that these GPUs have the support for these formats and can work with data to those precisions.

For the calculation of matrices, the GPUs make a vectorization of the matrix, since they were not designed to work with matrices, but with vectors. This vectorization process is necessary so that the GPU can perform the calculations, but they are much slower units than the other three types of units that we have talked about above.