Croktile documentation
Overview and links to Croktile / TileFlow reference documentation.
Croktile is a C++ embedded DSL for TileFlow programming: you describe shaped data, DMA moves, and parallel regions, and the compiler lowers to target code (for example CUDA/Cute) with strong shape and DMA safety checks.
Use the pages below for deeper reference. If you are new, start with Getting started (build and compiler options), then skim Syntax design and the topic that matches your task (shapes, parallelism, DMA, or dynamic dimensions).
Documentation map
- Getting started — build from source,
make test, compiler flags (-t,-es,-gs,-E, …) - Shaped data manipulation — shapes,
span, and symbolic dimensions (overview) - Parallel execution — SPMD regions and loop constructs (overview)
- DMA and data movement — DMA overview and chunking
- TileFlow tiling optimisation — matmul and rgb2gray examples, tiling with
chunkatand# - Async DMA patterns — futures, sync vs async DMA,
wait, operation types - Multi-buffering — double-buffering with
dma.any,swap, androtate - Syntax design — types, control flow, DMA statements,
chunkat, calls - Dynamic shapes — anonymous and symbolic dimensions
- Calling device functions —
call, templates, target notes - Macros and preprocessing — defines,
ifdef, preprocessor vs C++ - Thread masking —
inthreads, masks, asyncinthreads - Contributing — tests and pull requests