CUDA vs. FPGAs for high-performance computing

A column by Kevin Morris, editor of the FPGA Journal, discusses the new Nvidia GPU offerings.  Here’s my response about why GPUs will kill-off the use of field-programmable gate arrays (FPGAs) as accelerators in high-performance computing systems.

About dave_vandenbout
President of XESS Corp, a manufacturer of FPGA development boards.

6 Responses to CUDA vs. FPGAs for high-performance computing

  1. Steve says:

    Hi, the link was corrupted, please help me to find the link of the document.

    Hope you can help me to see “your response” above.

    Thanks very much !

  2. llpanorama says:


    In the version of CUDA I am using (1.1), there is no way I can find to start multiple grids that run in parallel. Each grid has to complete before another one can start. So you would probably need to run five grids sequentially to multiply your ten matrices.

    I think this is a limitation of the CUDA programming model and not the GPU itself. Perhaps later versions of CUDA will lift this restriction.

  3. Kolonel says:

    Thanks for sharing these useful information, I learn too much from your posts about CUDA.
    I have a question and I will appreciate if you could let me know your opinion: Is that possible to run 2 or more Grids concurrently in parallel? e.g. I have 10 matrices which I want to multiply them together, is that possible that I define 5 separate Grids and simultaneously multiply these matrices 2 by 2?
    Thanks for your attention.

  4. FPGA Blogs says:

    It sure would be a interesting war, I have to vote for FPGA 🙂

    • Memole says:

      Hi every body
      i think FPGA and GPU processing have
      individual usage and can not use instead of another
      for example we can make an optimal logic for a integer problem with FPGA
      but GPU is a ASIC chip and we must use predefine ALUs
      but GPU growth is a race with other processors

      • llpanorama says:

        Actually, the application areas for GPUs and FPGAs have considerable overlap: they both excel at performing regular, non-branching algorithms upon vectors or arrays of data. Signal processing would be such an application area. Admittedly, FPGAs have an advantage in that they can be fine-tuned to execute only those operations needed by an algorithm so they may beat GPUs in terms of speed and power consumption. But you need very talented people in order to program such an FPGA-based system (even with C-to-RTL tools) and these people are not easy to find. Meanwhile, people with experience programming GPUs are becoming more and more common. And GPU-based hardware is becoming cheaper faster than FPGA-based hardware because the GPU chip market is so much larger than the FPGA market. In the end, these two factors (available manpower and hardware cost) will limit FPGAs to special-purpose niche applications while GPUs take over the other 99% of HPC applications.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: