Kahibaro
Discord Login Register

GPUs and accelerators

What Makes GPUs and Accelerators Different from CPUs

GPUs and other accelerators are processors designed to run many operations in parallel, trading some flexibility for much higher throughput than general-purpose CPUs.

At a high level:

Key differences relevant to HPC:

Understanding these trade-offs is crucial when deciding whether and how to offload computation to an accelerator in an HPC context.

Types of Accelerators in HPC

Although “GPU” is often used as shorthand, modern HPC systems use several kinds of accelerators:

When people talk about “GPU nodes” in a cluster, they typically mean compute nodes with one or more discrete GPUs attached via PCIe or a high-speed interconnect like NVLink.

Why GPUs and Accelerators Matter for HPC

Accelerators are widely used in HPC because many scientific and engineering workloads have:

For such workloads, accelerators offer:

Typical HPC use cases:

Basic GPU Architecture Concepts (HPC Perspective)

While a later chapter will dive deeper into GPU architecture, here are a few concepts specifically relevant to understanding accelerators’ role in HPC:

Massive Parallelism and SIMT

Most GPUs follow a SIMT (Single Instruction, Multiple Threads) or related model:

Implication for HPC applications:

Memory Hierarchy on Accelerators (Overview)

Accelerators have a memory hierarchy distinct from the CPU’s:

From an HPC programmer’s point of view:

CPU–Accelerator Interaction and Data Movement

In a typical HPC node with accelerators:

Key concepts:

For HPC cluster design, interconnects like NVLink or Infinity Fabric can reduce bottlenecks between GPUs and between GPU and CPU compared to standard PCIe.

Multiple GPUs and Accelerator Topologies in Nodes

Modern HPC nodes often contain multiple accelerators. How they are connected matters:

For HPC applications:

Programming Models for GPUs and Accelerators (Conceptual Overview)

Detailed programming interfaces appear elsewhere in the course, but at this stage it’s useful to know the main categories of models:

In HPC practice, it is common to:

When Are Accelerators a Good Fit?

Accelerators are not universally beneficial. They are most effective when:

They are less effective when:

Understanding these factors helps decide which parts of an HPC application should be offloaded and how to design algorithms to exploit accelerators.

Performance and Resource Considerations

Accelerators affect not only raw speed but also how HPC resources are requested and used:

Later chapters will connect these architectural aspects to job scheduling, application design, and performance optimization strategies specific to GPU-accelerated systems.

Views: 14

Comments

Please login to add a comment.

Don't have an account? Register now!