CSL (Cerebras Streaming Language) is a domain-specific programming language designed for programming Cerebras Wafer-Scale Engine (WSE) processors. Its syntax is derived from Zig, but its purpose and compiler implementation are entirely different. CSL targets a massively parallel architecture consisting of hundreds of thousands of Processing Elements (PEs) arranged in a 2D grid, each with its own compute engine (CE), router, and local memory.
A complete CSL program consists of:
- Layout code (
layout.csl) -- defines the spatial arrangement of PEs and their routing/communication configuration. - PE programs (
pe_program.csl, etc.) -- define the computation running on individual PEs.