> ## Documentation Index
> Fetch the complete documentation index at: https://sdk.cerebras.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Tutorials

> Build CSL programs step by step through a series of GEMV tutorials that progressively introduce language features, multiple PEs, and fabric communication.

This series of tutorials serves as an introduction to bulding programs written
in CSL using the Cerebras SDK.
In each successive tutorial, we introduce additional language features,
using a general matrix-vector product (GEMV) as our core computation.

<CardGroup cols={2}>
  <Card title="GEMV Tutorial 0: Basic Syntax" href="/csl/tutorials/gemv-00-basic-syntax">
    Learn preliminaries of CSL syntax.
  </Card>

  <Card title="GEMV Tutorial 1: A Complete Program" href="/csl/tutorials/gemv-01-complete-program">
    Write a complete CSL program.
  </Card>

  <Card title="GEMV Tutorial 2: Memory DSDs" href="/csl/tutorials/gemv-02-memory-dsds">
    Use memory data structure descriptors (DSDs) for efficient operations on tensors.
  </Card>

  <Card title="GEMV Tutorial 3: Memcpy" href="/csl/tutorials/gemv-03-memcpy">
    Copy tensors from device to host, and vice versa.
  </Card>

  <Card title="GEMV Tutorial 4: Parameters" href="/csl/tutorials/gemv-04-params">
    Use parameters for compile-time specification of your program.
  </Card>

  <Card title="GEMV Tutorial 5: Multiple PEs" href="/csl/tutorials/gemv-05-multiple-pes">
    Run your program on multiple PEs.
  </Card>

  <Card title="GEMV Tutorial 6: Routes and Fabric DSDs" href="/csl/tutorials/gemv-06-routes-1">
    Use routes and colors to distribute a single GEMV across multiple PEs.
  </Card>
</CardGroup>
