By Peter Debenham, Senior Consultant, Signal Processing

GPU Computing

Fundamentally, power dissipation requirements are limiting single-core CPU speeds but we selfishly want yet faster computing.

In recent years, Graphics card Processing Units (GPUs) have moved from being highly specialised for graphics processing to being high-speed general computing systems.

This process was started by NVIDIA but has been followed by AMD and Intel. Of particular advantage is that Graphics cards have a large number (100s) of individual processors compared to the standard CPU (with 4 to 12 cores).  With GPUs having a similar speed clock to modern CPUs, this, in theory, leads to processing speed-ups when looking at similar cost/power consumption.

Read more…

The Embedded GPU Opportunity

The Embedded GPU Opportunity

Peter Debenham - Senior Consultant, Signal Processing

By: Peter Debenham
Senior Consultant, Signal Processing

28th June 2017

Home » Peter Debenham

The CPU (Central Processing Unit) has often been called the brains of a PC. But increasingly, the CPU is being enhanced, even supplanted, by another component in the PC, the GPU (Graphics Processing Unit). So what does this mean? Well, in layman’s terms, the PC’s brain has evolved.

Introducing GPU-accelerated computing, in recent years, GPUs have moved from being highly specialised for graphics processing to being high-speed general computing systems. But how can GPU processing be implemented and what could it achieve?

To address this, we have to look at three of the most common requirements for computing:

1. Significant processing capability

2. Rapid/low-cost development

3. Low Size, Weight, and Power (SWaP) solution

To fully realise the opportunity to deliver all three of these requirements with GPU processing, we first have to look at the traditional approaches that paved the way before us.

The traditional approach – you can only meet two of the above requirements

Traditional technologies and skillsets can only cater for any two of the three above requirements and will often follow the below scenarios:

Rapid development and low-SWaP:

  Incorporate embedded microprocessors and controllers. This is usually written in “C”, often with a Real-Time Operating System (RTOS).

  Downside: Maximum processing capability of such microprocessors is limited.

Significant processing and Rapid development:

 – Use a conventional PC, maybe with GPU acceleration. You could be writing low-level code in “C” but just as likely use mathematical processing systems, such as Mathcad or Octave with their vast number of pre-written libraries.

  Downside: Certainly not low-SWaP.

Significant processing and Low SWaP:

  Create a bespoke field-programmable gate array (FPGA) to handle the job. Many FPGA System On Chip (SOC) devices (e.g. Xilinx Zynq) are very efficient in terms of power consumption.

  Downside: Notoriously slow development processes and hard to debug.

The embedded GPU alternative

GPU-accelerated computing was pioneered in 2007 by computing technology company, NVidia. By using a GPU based SOC with CUDA (NVidia’s general purpose parallel computing environment) or OpenCL (an alternative open standard for cross-platform parallel programming), we have the possibility of providing significant processing capability, rapid development, and a low-SWaP solution.

Offering high-performance computing similar to upper-end PC grade microprocessors and FPGAs, development of the most recent embedded GPUs has also changed. Now offering power consumption rates in the FPGA range, the embedded GPU meets all three requirements.

In particular with CUDA, the quality of the development tools and libraries made available from NVidia are making GPUs an extremely viable solution for exploring the art of the possible.

To summarise, some of the most exciting developments in computing in the last twenty years has been the growth of highly parallel processing in GPUs. Traditionally, this has concentrated on providing the maximum amount of processing capability for supercomputers or driving high-end gaming graphics.

However, with the arrival of embedded GPUs, we have the ability to provide solutions and meet requirements in areas where traditional methods would otherwise be unable to address. Long live the GPU.

For more information about GPU Computing, you can read Peter’s white paper on the subject here.

Save

Save

Save

Save

Save

Save

The CPU (Central Processing Unit) has often been called the brains of a PC. But increasingly, the CPU is being enhanced, even supplanted, by another component in the PC, the GPU (Graphics Processing Unit). So what does this mean? Well, in layman’s terms, the PC’s brain has evolved.

Introducing GPU-accelerated computing, in recent years, GPUs have moved from being highly specialised for graphics processing to being high-speed general computing systems. But how can GPU processing be implemented and what could it achieve?

To address this, we have to look at three of the most common requirements for computing:

1. Significant processing capability

2. Rapid/low-cost development

3. Low Size, Weight, and Power (SWaP) solution

To fully realise the opportunity to deliver all three of these requirements with GPU processing, we first have to look at the traditional approaches that paved the way before us.

The traditional approach – you can only meet two of the above requirements

Traditional technologies and skillsets can only cater for any two of the three above requirements and will often follow the below scenarios:

Rapid development and low-SWaP:

Incorporate embedded microprocessors and controllers. This is usually written in “C”, often with a Real-Time Operating System (RTOS).

Downside: Maximum processing capability of such micro-processes is limited.

Significant processing and Rapid development:

  Use a conventional PC, maybe with GPU acceleration. You could be writing low-level code in “C” but just as likely use mathematical processing systems such as Mathcad or Octave with their vast number of pre-written libraries.

  Downside: Certainly not low-SWaP.

Significant processing and Low SWaP:

  Create a bespoke field-programmable gate array (FPGA) to handle the job. Many FPGA System On Chip (SOC) devices (e.g. Xilinx Zynq) are very efficient in terms of power consumption.

  Downside: Notoriously slow development processes and hard to debug.

The embedded GPU alternative

GPU-accelerated computing was pioneered in 2007 by computing technology company, NVidia. By using a GPU based SOC with CUDA (NVidia’s general purpose parallel computing environment) or OpenCL (an alternative open standard for cross-platform parallel programming), we have the possibility of providing significant processing capability, rapid development, and a low-SWaP solution.

Offering high-performance computing similar to upper-end PC grade microprocessors and FPGAs, development of the most recent embedded GPUs has also changed. Now offering power consumption rates in the FPGA range, the embedded GPU meets all three requirements.

In particular with CUDA, the quality of the development tools and libraries made available from NVidia are making GPUs an extremely viable solution for exploring the art of the possible.

To summarise, some of the most exciting developments in computing in the last twenty years has been the growth of highly parallel processing in GPUs. Traditionally, this has concentrated on providing the maximum amount of processing capability for supercomputers or driving high-end gaming graphics.

However, with the arrival of embedded GPUs, we have the ability to provide solutions and meet requirements in areas where traditional methods would otherwise be unable to address. Long live the GPU.

For more information about GPU Computing, you can read Peter’s white paper on the subject here.

Save

Save

Save

Save

Save

Save