# Cerebras SDK docs ## Docs - [SDK Appliance API Reference](https://sdk.cerebras.ai/api-docs/appliance-api.md): Compile and run Cerebras SDK programs on a Wafer-Scale Cluster using the Appliance API — covers `SdkCompiler`, `SdkLauncher`, job submission, and appliance mode execution. - [SdkLayout API Reference](https://sdk.cerebras.ai/api-docs/sdklayout-api.md): Use `SdkLayout` to define code regions, configure colors, and specify program layout for Cerebras SDK kernels. - [SdkRuntime API Reference](https://sdk.cerebras.ai/api-docs/sdkruntime-api.md): Use `SdkRuntime` to load and run kernels, copy data between host and device, and manage execution on the Cerebras Wafer-Scale Engine. - [Running SDK on a Wafer-Scale Cluster](https://sdk.cerebras.ai/appliance-mode.md): Learn how to compile and run Cerebras SDK programs on a Wafer-Scale Cluster running in appliance mode. - [A Conceptual View](https://sdk.cerebras.ai/computing-with-cerebras.md): Learn how the Wafer-Scale Engine architecture works, how processing elements communicate, and how the host and device interact. - [Migrating from comptime_struct and @concat_structs](https://sdk.cerebras.ai/csl/comptime-struct-migration.md): How to migrate existing CSL code from comptime_struct and @concat_structs to named struct types. - [CSL Compiler](https://sdk.cerebras.ai/csl/csl-compiler.md): Use `cslc` to compile CSL programs with options for output, parameters, colors, target architecture, fabric dimensions, memcpy support, and more. - [Advanced Hardware Features](https://sdk.cerebras.ai/csl/language/advanced-features.md): Learn how to use advanced WSE hardware features including color swapping and CE injection for fine-grained data routing control. - [Appendix](https://sdk.cerebras.ai/csl/language/appendix.md): Reference SIMD mode behavior and performance characteristics for CSL builtin operations on WSE-2 and WSE-3 architectures. - [Builtins](https://sdk.cerebras.ai/csl/language/builtins.md): Reference the complete set of CSL builtin functions for task activation, DSD operations, type conversion, memory management, and hardware configuration. - [Comptime](https://sdk.cerebras.ai/csl/language/comptime.md): Use the comptime keyword in CSL to guarantee compile-time evaluation of variables, expressions, and control flow with no runtime footprint. - [Data Structure Descriptors](https://sdk.cerebras.ai/csl/language/dsds.md): Use Data Structure Descriptors (DSDs) to efficiently express repeated operations on memory vectors, fabric streams, FIFOs, and circular buffers in CSL. - [Data Structure Registers](https://sdk.cerebras.ai/csl/language/dsrs.md): Use Data Structure Registers (DSRs) to load DSD values into physical registers and control asynchronous DSD operations in CSL. - [Generics](https://sdk.cerebras.ai/csl/language/generics.md): Learn how to write generic CSL code using comptime type parameters, anytype, and type computation to create reusable functions and structs. - [Libraries](https://sdk.cerebras.ai/csl/language/libraries.md): Explore the CSL standard library modules available for import, including math, complex numbers, data utilities, memory allocation, and collective operations. - [Microthread IDs](https://sdk.cerebras.ai/csl/language/microthreads_wse3.md): Use explicit microthread IDs on WSE-3 to control which hardware microthread executes a given asynchronous DSD operation. - [Modules](https://sdk.cerebras.ai/csl/language/modules.md): Use the @import_module builtin to organize CSL code into reusable modules with parameter bindings and shared global symbols. - [Storage Classes](https://sdk.cerebras.ai/csl/language/storage-classes.md): Use extern and export storage classes in CSL to share variables and functions across separately-compiled objects and access symbols from Python host code. - [Syntax of CSL](https://sdk.cerebras.ai/csl/language/syntax.md): Learn the core syntax of the Cerebras Software Language (CSL), including types, variables, pointers, functions, statements, and operators. - [Task Identifiers and Task Execution](https://sdk.cerebras.ai/csl/language/task-ids.md): Learn how to bind, activate, and execute data, local, and control tasks in CSL using task identifiers and the CSL task model. - [Type System in CSL](https://sdk.cerebras.ai/csl/language/types.md): Explore CSL's complete type system, including numeric types, structs, unions, enums, arrays, pointers, and comptime-only types. - [Overview](https://sdk.cerebras.ai/csl/language_index.md): Browse the complete CSL language reference, covering syntax, builtins, types, modules, tasks, DSDs, DSRs, libraries, and advanced hardware features. - [SDK Code Examples](https://sdk.cerebras.ai/csl/sdk-examples.md): Tutorials and benchmarks from the Cerebras SDK examples repository. - [GEMV Tutorial 0: Basic CSL Syntax](https://sdk.cerebras.ai/csl/tutorials/gemv-00-basic-syntax.md): Learn the foundational syntax of CSL by exploring the core language constructs used to implement a general matrix-vector product (GEMV). - [GEMV Tutorial 1: A Complete Program](https://sdk.cerebras.ai/csl/tutorials/gemv-01-complete-program.md): Write, compile, and run a complete CSL program with memcpy support and Python host runtime using `SdkRuntime`. - [GEMV Tutorial 2: Memory DSDs](https://sdk.cerebras.ai/csl/tutorials/gemv-02-memory-dsds.md): Use memory Data Structure Descriptors (DSDs) to perform efficient tensor operations in CSL without explicit loops. - [GEMV Tutorial 3: Memcpy](https://sdk.cerebras.ai/csl/tutorials/gemv-03-memcpy.md): Copy tensor data between host and device using `SdkRuntime`'s `memcpy_h2d` and `memcpy_d2h` functions. - [GEMV Tutorial 4: Parameters](https://sdk.cerebras.ai/csl/tutorials/gemv-04-params.md): Define and use compile-time parameters in CSL device code and read their values from the compile output in your Python host program. - [GEMV Tutorial 5: Multiple PEs](https://sdk.cerebras.ai/csl/tutorials/gemv-05-multiple-pes.md): Scale your CSL program to run across multiple processing elements by configuring a multi-PE layout and copying data to and from each PE. - [GEMV Tutorial 6: Routes and Fabric DSDs](https://sdk.cerebras.ai/csl/tutorials/gemv-06-routes-1.md): Use fabric DSDs and routes to distribute a GEMV computation across multiple PEs and pass data between them via the WSE fabric. - [Tutorials](https://sdk.cerebras.ai/csl/tutorials/index.md): Build CSL programs step by step through a series of GEMV tutorials that progressively introduce language features, multiple PEs, and fabric communication. - [Working With Code Samples](https://sdk.cerebras.ai/csl/working-with-code-samples.md): Compile and run Cerebras SDK code samples using the provided commands scripts and the CSL compiler and Python host runtime. - [Debugging Guide](https://sdk.cerebras.ai/debug/debugging.md): Debug CSL kernel code using the `csdb` interactive debugger, SDK GUI visualization, and simulator log files. - [SDK GUI](https://sdk.cerebras.ai/debug/sdk-gui.md): Use the `sdk_debug_shell visualize` tool to inspect simulation results including timelines and traces in a browser-based graphical interface. - [Installation and Setup](https://sdk.cerebras.ai/installation-guide.md): Install the Cerebras SDK Singularity container and configure your environment to compile and run CSL programs on the fabric simulator or a legacy Cerebras system installation. - [Documentation Changelog](https://sdk.cerebras.ai/sdk-release-notes/sdk-doc-updates.md): Track the history of documentation changes for the Cerebras SDK, including new guides, API references, and updated language documentation. - [Release Notes](https://sdk.cerebras.ai/sdk-release-notes/sdk-rel-notes-cumulative.md): Review the cumulative release notes for the Cerebras SDK, including new language features, bug fixes, and breaking changes for each version. - [Host Runtime and Tensor Streaming](https://sdk.cerebras.ai/tensor-streaming.md): Use `SdkRuntime` and the CSL memcpy library to load programs, launch kernels, and stream tensor data between host and the Wafer-Scale Engine.