Explain GPU computing and its evolution towards Exascale computing. Describe how GPUs work, the GPU programming model, power efficiency


Explain GPU computing and its evolution towards Exascale computing. Describe how GPUs work, the GPU programming model, power efficiency

Answer:-

GPU Computing to Exascale and Beyond

  • A GPU (Graphics Processing Unit) is a graphics coprocessor used mainly for handling heavy tasks like video editing. It is placed on the graphics card of a computer and helps reduce the load on the CPU.
  • The first GPU was GeForce 256, released by NVIDIA in 1999. It could process up to 10 million polygons per second. Now, GPUs are available in almost every computer.
  • CPUs generally have fewer cores (example: Xeon X5670 has 6 cores), while modern GPUs can have hundreds of cores, allowing them to run thousands of threads at the same time.

How GPUs Work

  • Earlier, GPUs acted as coprocessors to the CPU. Modern GPUs, like those from NVIDIA, can have 128 cores, and each core can handle 8 threads. This gives up to 1024 threads running together on a single chip, which shows true massive parallelism.
  • Unlike CPUs (which focus on speed), GPUs are designed for throughput. They are used not only in graphics but also in HPC (High Performance Computing) systems to perform heavy floating-point calculations.

GPUs are commonly used in:

  • Mobile phones
  • Game consoles
  • Embedded systems
  • PCs and servers

Special GPUs like CUDA Tesla and Fermi are used in GPU clusters for scientific computing.

GPU Programming Model

In GPU programming (like NVIDIA CUDA):

  • CPU is a traditional multicore processor with limited parallelism.
  • GPU is a many-core chip where each core runs one or more threads.
  • The CPU sends instructions to the GPU to handle large data calculations.
  • Bandwidth between main memory and GPU memory must be matched properly.

In the future, GPUs with thousands of cores will be used in Exascale systems, which can perform up to 10¹⁸ FLOPS (ExaFLOPS).

Challenges in Exascale Computing

As per DARPA (2008), the 4 major challenges are:

  1. Energy and power
  2. Memory and storage
  3. Concurrency and locality
  4. System resiliency

Power Efficiency of GPUs

According to Bill Dally (Stanford University):

  • GPUs provide more power efficiency than CPUs.
  • A CPU uses about 2 nJ/instruction, while a GPU uses 200 pJ/instruction (10× less).
  • In 2010:
    • CPU: Less than 1 Gflop/watt per core
    • GPU: About 5 Gflops/watt per core

To improve future systems, we need:

  • Better storage and memory design
  • Self-aware operating systems
  • Locality-aware compilers and auto-tuners

Leave a Reply

Your email address will not be published. Required fields are marked *