Skip to main content

Intro

Why the Cerebras Wafer-Scale Engine​

The Cerebras Wafer-Scale Engine (WSE) is a single chip that fills a whole wafer with a grid of tiles. Problems limited by memory bandwidth or communication on a cluster, such as stencils, particle methods and molecular dynamics, run on the WSE at a scale and speed a cluster can't reach.

Published results include:

  • Molecular dynamics. 179 times the timesteps per second of the Frontier exascale supercomputer, with embedded-atom simulations of up to 800,000 atoms running at over 270,000 timesteps per second (SC24).
  • Heat equation and stencil codes. 0.86 PFLOPS on a single wafer-scale system, about a third of its peak, solving a seven-point stencil system on a 600 × 595 × 1536 mesh with BiCGStab (SC20); on a cluster of 64 CS-3 systems, over 1.6 million time steps per second and perfect weak scaling at 88% of peak (SCA/HPC Asia 2026).
  • Shallow water equations. A planetary-scale model of the tsunami after an asteroid impact, at 460 m resolution, on the same 64-system cluster (SCA/HPC Asia 2026).

Tungsten and Paint are a pair of languages, with their compiler, for writing programs that run across the whole wafer. The tutorial teaches them, and the Aviary collects complete applications written in them. Everything runs in the WSE simulator that comes with the experimental SDK, so you can start without Cerebras hardware.

How the programs are built: Tungsten and Paint​

A program for the WSE has two halves that change independently: what each tile computes over time, and how the tiles are arranged and connected across the wafer. Tungsten describes the first. Paint describes the second.

The machine​

The WSE is a two-dimensional mesh of tiles. Each tile has a core that runs its program, memory that no other tile can read, and a router that links it to its north, south, east and west neighbours and to its own core. Whatever tiles share, they send to each other.

Data moves as wavelets, 32-bit messages that a router passes in a single clock cycle. Wavelets travel on colors, 24 virtual channels. Each color is set up as a route through the grid, and congestion on one color does not block another.

Part of the WSE as a grid of tiles, with one tile enlarged to show its core, memory and router

The Cerebras SDK documentation and the reference pages call a tile a processing element (PE), and its core the compute engine (CE).

Tungsten​

Tungsten describes what one tile does. You write arrays, loops over index ranges such as ∀i in [0, N), functions, and the data the tile sends and receives on sockets. The compiler maps this onto the tile's core and router: work that starts when data arrives, independent parts that run concurrently, and the fabric transfers behind each socket.

Paint​

Paint describes where kernels run and how they connect. You place kernels on tiles and rectangles of tiles, give each its parameters, bind its sockets to colors and route the colors through the routers. Layouts are built by composition: side by side (hstack), stacked (vstack) or repeated (hstackrep, vstackrep).

Keeping the halves apart lets each change without the other. The same kernel runs on one tile or on a rectangle of thousands, with different parameters and no change to its code. A layout can be resized or rerouted without touching its kernels.

Tungsten and Paint do not use CSL, the language of the Cerebras SDK, and do not generate it. Paint compiles each kernel with the Tungsten compiler and builds the machine image for the whole layout. What they share with the Cerebras SDK is the machine and its simulator: every program on this site runs on the Cerebras SDK's simulator. The Tungsten and Paint references cover both languages construct by construct.

The heat equation in the Aviary shows both halves in a complete application: its page walks through the stencil, the exchange of ghost cells and the Paint layout.

Get started​

The experimental SDK has the compiler, a program that runs the Cerebras SDK simulator, every application and the tutorial, in one directory.

  1. Download the experimental SDK. Run the tutorials shows how to use it.
  2. Run an application with tungsten-tutorials -f and the path its page gives. Start with the heat equation: tungsten-tutorials -f projects/heateq9pt.
  3. Build and simulate a tutorial lesson with make TEST=tutorial in a writable copy of its directory. Start with lesson 1, Hello, wafer!.

The experimental SDK holds everything these steps need; no hardware is required.

Where to go next​

If you want to…Go to
Run the applications and the tutorial yourselfRun the tutorials: the experimental SDK, and how to build and simulate any of them in it
Read the applicationsApplications, with all of their files
Learn the languages step by stepThe tutorial, from lesson 1, Hello, wafer!
Have a coding agent write a kernelWrite a kernel with a coding agent: the tutorial and the language references as its guide
Look up a constructThe Tungsten and Paint references
Compile, simulate and debugTools