Skip to main content

Supercomputing Overview

Supercomputer


What is Supercomputing?

Supercomputing is a form of high-performance computing that uses powerful computers, known as "supercomputers," to perform calculations, reducing total solution time. Unlike traditional computers, supercomputers use multiple central processing units (CPUs). These CPUs are grouped into multiple compute nodes, each containing a processor or a set of processors (symmetric multiprocessing (SMP)) and a memory block. At scale, supercomputers can contain tens of thousands of nodes. With interconnected communication capabilities, these nodes can collaborate to solve specific problems.

Supercomputing is measured in floating-point operations per second (FLOPS). A petaflop is a unit of computer processing speed, equivalent to one quadrillion floating-point operations per second. A computer system with a speed of 1 petaflop can perform one million to the fourth power floating-point operations per second. In practical testing, the Linpack benchmark is widely used in the industry to approximate the speed at which a computer solves numerical problems.

According to the TOP500 ranking, the world's fastest supercomputer is currently Frontier in the United States, with a speed of 1102 petaflops (E-class) as of June 2022. Japan's Fugaku and the Netherlands' LUMI rank second and third, with speeds of 442 and 151.9 petaflops, respectively.

Fun fact: The current #1 Frontier and #3 LUMI are both "same-architecture" supercomputers, both using AMD processors and accelerators. The #1 Frontier achieves 12.5% more cores than the #2 Fugaku (ARM architecture), doubling performance (reaching E-class), and has significantly lower overall power consumption.

Peak Performance

FLOPS on high-performance computing clusters (supercomputers) can be calculated using the following formula:

Breaking it down to the processor level, taking a single Intel® Xeon® Gold 6258R as an example, this processor is based on the Cascade Lake architecture. Each compute unit has 2 FMAs (fused multiply-add), and each FMA can perform one multiplication and one addition on 512-bit data in one clock cycle:

  • (512bit/32bit) x 2(FMA) x 2(multiply and add) = 64 SP FLOPs/cycle, meaning 64 single-precision floating-point calculations can be performed per clock cycle.
  • (512bit/64bit) x 2(FMA) x 2(multiply and add) = 32 DP FLOPs/cycle, meaning 32 double-precision floating-point calculations can be performed per clock cycle.

Since the peak floating-point performance of a single CPU = number of CPU cores x CPU frequency x number of floating-point operations per cycle, for the Intel® Xeon® Gold 6258R processor:

  • Theoretical peak single-precision performance = 28 (number of CPU cores) x 2.7GHz (CPU frequency) x 64 SP FLOPs/cycle = 4838.4 GFLOPs/s peak floating-point computing capability.
  • Theoretical peak double-precision performance = 28 (number of CPU cores) x 2.7GHz (CPU frequency) x 32 DP FLOPs/cycle = 2419.2 GFLOPs/s peak floating-point computing capability.

Practical Applications

Supercomputers currently play a crucial role in computational science, widely used for compute-intensive tasks across various fields. They help us simulate supernovae, develop new materials, explore cancer treatments, genetics and environment, quantum mechanics, weather forecasting, climate research, oil and gas exploration, molecular modeling (compounds, biological macromolecules, polymers, and crystals), and physical simulations (such as early universe simulations, aircraft and spacecraft aerodynamics, nuclear weapon explosions, and nuclear fusion).

Because supercomputers are often used to run artificial intelligence programs, supercomputing has almost become synonymous with AI. This common usage is because AI programs require the high-performance computing provided by supercomputers. In other words, supercomputers can handle the types of workloads typically required by AI applications.

Supercomputing and High-Performance Computing

Although supercomputing usually refers to the complex, large-scale computing processes used by supercomputers, high-performance computing (HPC) refers to using multiple supercomputers to handle complex, large-scale computations. These two terms are often used interchangeably.

Supercomputing and Parallel Computing

Supercomputers are sometimes also called parallel computers because they can use parallel processing. Parallel processing refers to multiple CPUs working together to solve a single computation at a given time. However, HPC scenarios also use parallelism but do not necessarily use supercomputers. Another exception is that supercomputers can use other processor systems, such as vector processors, scalar processors, or multi-threaded processors.