• Machine learning

FPGA vs. GPU for Machine Learning

Vahan Zakaryan
31 Jan 2022
5 min
FPGA vs. GPU for Machine Learning

The proliferation of resource-intensive machine learning (ML) applications has driven the tech industry’s interest in highly efficient computer chips that can outperform central processing units (CPUs) and graphics processing units (GPUs) for programming tasks. 

A demand for smarter hardware that can be used to train ML nets and models has prompted industry leaders, including Nvidia, Intel, Google and many others, to turn to specialized field-programmable gate arrays (FPGAs), which promise better performance for specific tasks than CPUs and GPUs. 

The global FPGA market value is expected to grow from $5.7bn in 2020 to $11.42bn by 2027, with an annual growth rate of 10.4%. The growing incorporation of the Internet of Things (IoT) in many sectors of the economy and increased demand for hardware like network processing cards and wireless modems, will contribute to that growth due to growing demand for chips.

However, the growth trend for FPGAs doesn’t mean that GPUs can’t perform ML-related tasks anymore. So what’s all the hype about? And what’s the best bet in the FPGA vs. GPU standoff? 

Want to know more about tech trends?
Sign up to be the first who receive our expert articles

    Thank you

    What is an FPGA?

    Broadly speaking, FPGA can be described as a chip for performing specific programming tasks. 

    Let’s say you need to decode a video, which is a very resource-intensive process that requires high hardware capacity for successful performance. Rather than using a СPU that carries out pixel-wise computations one by one, requiring lots of power capacity, you can use an FPGA to perform computations for all pixels simultaneously. 

    This is very convenient when dealing with ML tasks, like computing processing elements in a neural network layer. 

    Intel defines FPGAs as “integrated circuits with a programmable hardware architecture” that can be adjusted as needed.

    How FPGAs differ from GPUs

    Both FPGAs and GPUs can successfully deal with ML workloads, like object detection and image classification, relying on the simultaneous completion of steps in the task chain. What makes them differ from each other, in part, is the initial purpose for which each was created and their scalability.

    GPUs were specifically designed to perform video-related tasks, like video rendering and animation. They are highly successful parallel processors and can perform lots of arithmetic operations simultaneously, speeding up completion of a task, compared to serial processors. GPUs owe their high productivity to its many built-in processors that deal with basic computations, such as computing the color of a pixel in a video. 

    The problem is that running ML tasks on GPUs has limitations. GPUs simply can’t scale indefinitely and thus can’t perform as robustly as FPGAs developed specifically to deal with ML workloads.

    Unlike GPUs, which are pre-programmed at the factory, FPGAs can be customized to work with artificial intelligence (AI) or perform other tasks and can be reprogrammed at any time depending on the requirements of the AI algorithm or task. This allows ML engineers to execute algorithms faster than they could on GPUs. 

    While GPUs excel at video tasks and can train neural nets, FPGAs are used only for the latter. These chips were developed to specialize in performing many computations simultaneously and use less power.

    AI applications on FPGAs

    One of the pioneers in AI application of FPGAs was Microsoft Research. In 2010, the company demonstrated one of the first use cases of FPGAs for AI, seeking to speed up web searches. Years later, Microsoft’s Bing search engine used FPGAs to improve search ranking, which resulted in a 200% increase in throughput

    Many more uses have emerged in the market since then. Let’s take a brief look at a couple of the most interesting examples.  

    Xilinx for healthcare

    Xilinx, the FPGA market leader, offers a variety of AI-driven solutions for healthcare, relying on its own FPGAs. 

    Medical imaging with MRI, CT, and PET, diagnostic and clinical endoscopy processing, multi-parameter patient monitors, and ECGs are some of the AI and ML applications running on FPGA-powered platforms developed by the company.

    Xilinx platforms can be used in the cloud and are easily integrated with existing healthcare applications.

    Intel’s Stratix 10 NX FPGA

    In 2020, another influential player in the FPGA market, Intel, introduced its first set of FPGAs, Stratix 10 NX FPGA, to address the increasingly complex AI models. 

    The new Stratix 10 NX FPGAs offer 15 times the operations throughput than the previous Stratix 10, with features optimized for high-bandwidth, low latency AI, including video processing and network virtualization.

    It allowed engineers to quickly develop customized AI-powered solutions. 

    Tesla’s D1 Dojo 

    In 2021, Tesla introduced its D1 Dojo chip to train computer vision models for its autonomous vehicles. The car manufacturer wasn’t happy with the available hardware options for this purpose and designed a new chip format that it claims better trains neural nets internally. The company says it’ll be the fastest AI training machine ever known. 

    FPGA vs. GPU for Machine Learning - photo 1

    “This standard specifies Tesla arithmetic formats and methods for the new 8-bit and 16-bit binary floating-point arithmetic in computer programming environments for deep learning neural network training. This standard also specifies exception conditions and the status flags thereof. An implementation of a floating-point system conforming to this standard may be realized entirely in software, entirely in hardware, or in any combination of software and hardware,” reads the description of the chip on Tesla’s whitepapaer on Dojo.

    FPGA pros and cons

    Let’s take a look at the advantages and disadvantages of using FPGAs for machine learning and other AI workloads.

    Low latency. FPGAs give low latency for real-time applications by directly integrating video, bypassing a CPU.Sophisticated programming. FPGAs require specific engineering expertise to map custom circuits and the architecture of the hardware.
    Low power consumption. FPGAs allow engineers to modify the hardware architecture to adjust power consumption. They can also use parts of a chip for computation without involving the entire chip to reduce power consumption.High initial cost. This one follows from the previous disadvantage, because greater expertise results in higher cost per unit.
    Massively parallel data processing, which allows programming power to scale as much as needed.Complications with the code. Most code samples won’t easily migrate between GPUs and FPGAs.
    Cost effective. Because they can be reprogrammed again and again, these chips are more cost effective in the long run, despite a high initial cost.

    Can FPGA beat GPU?

    Looking at the pros and cons of using FPGAs, it might seem like the answer to this question is obvious. 

    FPGAs enable hardware customization with integrated AI and can be reprogrammed to meet customers’ needs. This allows engineers to test algorithms more efficiently, and to get to market and scale quickly. 

    However, FPGA chips are custom configured and reconfigured for a specific company’s particular needs, whereas many GPUs available on the market come preconfigured and can be used by any company. FPGAs are also not easy to program, which can be a substantial roadblock to their wide adoption.

    If you’re hesitant about which option to choose or need advice on AI or ML projects, Postindustria’s team of engineers is here to help. Make the most of AI with our custom AI software development services. Leave us your contact details below and we’ll get in touch.

    Book a strategy session_

    Get actionable insights for your product

      Thank you for reaching out,

      Make sure to check for details.