Two factions of heterogeneous computing Why heterogeneous computing?

In the Internet industry, with the popularization of information technology, the amount of data makes it jumped storage space has a new requirement, while the rise in the field of machine learning, artificial intelligence, unmanned, industrial simulation, so that the general-purpose CPU processing massive computing, more and more performance bottlenecks encountered when mass data / images, such as the degree of parallelism is not high, not enough bandwidth, higher latency.

In response to a wide range of computing needs, more and more of the scene began to introduce GPU, FPGA and other hardware acceleration, heterogeneous computing came into being. Heterogeneous Computing (Heterogeneous Computing), mainly refers to calculation system calculating unit and a different type of instruction set architecture thereof.

1980s, heterogeneous computing technology has been born. Various so-called heterogeneous computing is the CPU, DSP, GPU, ASIC, co-processor, FPGA and other units, the use of different types of instruction sets, computing means different architecture, consisting of a hybrid system, a special calculation is performed way, is called "heterogeneous computing."

Especially in the field of artificial intelligence, heterogeneous computing promising. As we all know, AI mean ultra-high demands on computing power, the current heterogeneous computing GPU-accelerated AI has become the representative of a new generation of innovative computing architecture.

Why do we need heterogeneous computing?

Speaking calculations, we usually think of CPU, but the CPU belonging to general-purpose computing, subject to Moore's Law, along with the development of a wide range of computing, especially the application of diverse types, causes the CPU to a "powerless" in dealing with certain types of calculations Case. Introducing a specific unit to make computing systems become hybrid structure has become a necessity, each different type of computing unit can perform their most mountain good job.

Although the CPU operation does not work, but good management and scheduling, such as reading data, file management, human-computer interaction, and many more routine, there are many aids; GPU management weaker, stronger operation, it is a more complicated process, and more suitable block data stream processing algorithm; the FPGA can manage operations, but the development cycle is long, complex algorithm development difficult. Suitable for stream processing algorithms, or whether it is a single piece of data into a carry. There is real-time, FPGA is the highest.

When artificial intelligence massive computing power demands arrival, GPU, FPGA with CPU to calculate it "ripe" the.

The two factions --GPU heterogeneous computing and FPGA

We are most familiar with heterogeneous computing platform is the "CPU + GPU" and "CPU + FPGA" architecture. The biggest advantage is a typical heterogeneous computing architecture parallel computing than traditional CPU more efficient and low-latency computing performance, especially in the case of the computing industry performance requirements gone up, heterogeneous computing has become increasingly important, the entire computing industry here are all the ecological force.

As we all know, compared to the CPU, GPU and FPGA have too many advantages, GPU has a peak computationally more efficient higher degree of parallelism, higher stand-alone computing; and the advantages of FPGA is mainly reflected in it has a higher per watt performance, non-structured data calculation higher performance, higher hardware acceleration performance, lower Interconnect delay.

Currently the most used heterogeneous computing is the use of the GPU to accelerate. Mainstream GPU units have adopted a unified architecture, with a strong lineup of programmable stream processors, GPU in single-precision floating-point execution of the CPU far behind. GPU various manufacturers have introduced a GPU for general purpose computing, GPGPU (General Perpose GPU). For a time, the industry is talking about GPU computing.

In addition to GPU, FPGA become a hot spot in recent years, the semiconductor industry. FPGA as a high-performance, low-power programmable chips can be customized according to specific algorithms designed to do. Therefore, when handling huge amounts of data, FPGA compared to the CPU and GPU, advantage: FPGA more computationally efficient, FPGA closer IO.

PGA is not used and software instructions, hardware is unity device. To program the FPGA logic using a hardware description language, a hardware description language can be compiled directly to a combination of a transistor circuit. Therefore, the user is actually implemented algorithm FPGA transistor circuits directly, without an instruction by the translation system.

Of course, in addition to GPU and FPGA, ASIC chip, is currently an option calculations. ASIC is a dedicated chip, the traditional general-purpose chips have some differences, for certain needs of customized chips. Computing power and efficiency of the ASIC chip can be customized according to the algorithm, so compared with general-purpose chip ASIC, superiority following aspects: small size, low power consumption, high performance computing, high computational efficiency, the chip the larger the volume, the lower the cost. But the disadvantages are also obvious: the algorithm is fixed, once the algorithm change might not be available.

Artificial intelligence is a large outbreak of the current period, a large number of algorithms have been poured out, it is far from stable algorithm period, ASIC ASIC how to do to adapt to a variety of algorithms is the biggest problem.

Different processor chip has its own distinct characteristics in building heterogeneous computing. CPU, GPU field there is a lot of open source software and application software, any new technology will first algorithm with the CPU, CPU programming rich resources and easy access, low development costs and development cycle. FPGA implementation using Verilog / VHDL and other low-level hardware description language, those who have a need to develop a more thorough understanding of the characteristics of the FPGA chip, but the properties of high parallelism can often make order to enhance service performance; while a dynamic FPGA the reconfigurable, when deployed in data centers, different logic may be configured to implement different hardware acceleration functions according to business forms.

ASIC chip can achieve optimum performance, namely high area-efficient, high speed, low power consumption; however AISC great development risk, need to have a large enough market to ensure that the cost price, but also from development to market for a long period of time not suitable for areas such as CNN and other deep learning algorithm is fast iteration.

Epilogue

The current calculation diversification trend unstoppable, has been unable to calculate a single CPU power requirements. In this case, in a heterogeneous computing GPU and FPGA represented popular. Especially to promote the new technology of artificial intelligence, big data, and other things, application type diversified, the demand for computing also presents differentiated characteristics. Whether "CPU + GPU" or "CPU + FPGA", is calculated in order to better serve the individual needs.

It is foreseeable that with the evolution of the computing industry, heterogeneous computing has a broad space for development, we will see more and more heterogeneous computing architecture play an increasingly important role in carrying applications.

related suggestion:

Small Meige FPGA design and verification methods video tutorials

FPGA original dialogue - both chat technology, but also to talk about the market

NI FPGA based learning video (based on cRIO)

Published 74 original articles · won praise 337 · Views 1.3 million +

Guess you like

Origin blog.csdn.net/kebu12345678/article/details/103517619