The future of FPGAs
On June 1, 2015 Intel and Altera announced , that they had entered into a definitive agreement under which Intel would acquire Altera for $16.7 billions. That was a major milestone for the FPGA community as Xilinx and Altera were the main FPGA vendors.
After the official announcement of AMD to acquire Xilinx today, there is a huge concern on the FPGA community on the future of FPGAs.
The main goal of the Xilinx acquisition is to create the industry’s leading high performance computing company, “significantly expanding the breadth of AMD’s product portfolio and customer set across diverse growth markets where Xilinx is an established leader” according to AMD. But what is the main market that Xilinx is leading?
Alveo, VERSAL and Vitis AI
Xilinx released 3 years ago a powerful FPGA platform named Alveo. Alveo was the first FPGA board developed originally by Xilinx to serve as an Accelerator card to compete with GPUs. Until then, Xilinx was mostly developing the FPGA chips and was depending on other vendors for the FPGA cards. With the advent of the Alveo cards (and most recently Versal) Xilinx wanted to offer a powerful platform under it’s brand name to serve as an accelerator card. Xilinx developed very fast an impressive ecosystem around the Alveo platform including several companies that were utilizing the power of Alveo cards to accelerate several applications in the domain of machine learning, deep neural networks, databased, Natural Language Processing, Genomics, and quantitative finance. The main goal of the Alveo cards was to provide a powerful alternative to GPUs for deep learning. At the same time Alveo could also be used to accelerate HPC, ML, databases, genomics, and quantitative finance.
Xilinx also offered an integrated EDA tool (SDAccel then Vitis) that allowed the programming of FPGAs from high-level programming languages like OpenCL and C/C++ without the need to use VHDL or Verilog. These tools allowed software developers without prior knowledge of FPGAs to be able to develop their own accelerators (although a deep understanding of the FPGA technology is required to develop efficient hardware accelerators using OpenCL).
NVIDIA, ARM and Mellanox
Almost one month ago, Nvidia announced the intention to acquire ARM for $40 Billion, “creating world’s premier computing company for the age of AI”. One of the reason of the acquisition was to allow Nvidia’s goal to develop the Data Processing Units (DPU) that consist of:
- software programmable, multi-core CPU (aka ARM)
- high-performance network interface (aka SmartNIC) (aka Mellanox)
- rich set of flexible and programmable acceleration engines (aka Nvidia GPUs)
So after the acquisition of Xilinx from AMD, what will be the future of FPGAs.
Intel has a rich portfolio of hardware accelerators including powerful Xeon processor, GPUs, FPGAs and ASIC for deep learning. So what is the main market that FPGA are targeting at Intel? In one of the Intel presentations it was shown that Intel aim to utilize FPGAs in 3 specific markets:
- Natural Language Processing (BERT)
- Fraud Detection (LSTM)
- Smart Cities (Inference).
So it seems that Intel is mainly focused on applications where low latency is critical and FPGAs can provide lower latency compared to other platforms. However it still remains to see how these FPGA targeting deep learning applications will differentiate from the ASIC deep learning platforms such as the one based on Habana Labs. Intel acquired Habana labs, for $2 billion for their technology on high performance deep learning inference and training.
The future of FPGAs
After the relevant acquisitions I think it is clear to everyone that we are moving on the era of Heterogeneous Data Processing Platforms where computing platform will include SmartNICs, multi-core processors and hardware accelerators and the user will have to select a complete solution instead of mix-and-match. Intel, AMD and Nvidia will offer complete computing platforms with their own proprietary accelerators and SmartNICs.
The benefits could be easier deployment and better integration but the option to select the best of each world will not be feasible any more or at least it will be more challenging (e.g. a selection of FPGA from Xilinx, Intel Xeon Processor and a GPU from Nvidia).
For Intel and AMD it will be hard to promote FPGAs in the domain of deep learning, for example, while other platforms will be available under their own brand name. Maybe FPGAs will mostly be utilized in their bread-and-butter market (networking and telecom like vRAN and 5G) while other platforms (GPUs, ASICs) will be promoted for deep learning.
The main benefit of FPGAs is the programmability to support tailored-made architectures. That means that can adapt much faster to new algorithms or applications. This competitive advantage is of paramount importance especially in the domain of deep learning where new models are developed by ML engineers and data scientists. FPGAs can be programmed with the new tailored-made model/algorithm and can provide better performance compared to other platforms. Especially in application that bit-level processing is required, like packet processing, genomics and bitcoin mining, FPGAs has shown much better performance than other platforms. In deep learning applications, FPGAs can provide lower latency and high performance especially when reduced number of bits are used. (e.g. Xilinx FINN). So it seems that FPGAs can have a major role in the new processing ecosystem and not be used only for the SmartNIC applications.
In any case, in order to make FPGAs attractive as an accelerator platform, we need also to provide the required framework that will allow easy and scalable FPGA deployment. That is why a vendor-agnostic framework is required that allows to deploy FPGAs as easy as GPUs or CPUs.
In the domain of embedded system, FPGAs can still prevail. Both Xilinx and Intel provide SoC-based FPGAs with ARM cores that are widely used for embedded applications. Nvidia has stated that will still allow the use of ARM cores by 3rd parties so Xilinx and Intel will keep using ARM in their SoC-based FPGA (until they switch to RISC-V processors maybe in a couple of years).
The FPGA community is quite large and is keep growing. Several conference like FCCM, FPGA and FPL show that there is a large community supporting and promoting the use of FPGAs. However, it still remain to be seen if FPGAs will continue to serve as general-purpose accelerators or their applications will be much more limited in networking and telecom applications.