IntentDSL Handbook¶
IntentDSL combines a Python DSL for structured kernel algorithms with an MLIR compiler. Authors express logical members, computation, control, state and explicit orchestration of multiple kernels. The compiler constructs a physical program for the selected execution model and passes it to target toolchains such as Triton, cuTile, Mojo, Weft or BANG C.
Start here¶
- Installation: install from PyPI, source or an existing wheel and select one backend environment.
- Compile and run: run complete programs and inspect KIR, physical IR and generated source.
- Configuration and tuning: understand complete empirical configurations, first-call tuning and warm calls.
- Agents and MCP: connect the read-only language manual and explicit compilation tools.
Find a language or compiler rule¶
Start writing kernels with the authoring quick reference. Consult language constructs and types, numerics and effects for the exact contract. Compiler contributors can start with the compiler overview, passes and analyses, and extending passes.
This directory contains usage instructions and stable design. Implementation progress, test results, performance measurements and historical decision logs belong elsewhere. The specification has three layers:
- Programming model: semantic boundaries between authors, kernels, hosts and the compiler.
- Language reference: the author surface, canonical semantics, shorthand and idealized examples.
- Compiler: executable physical programs after canonical KIR, passes, target extensions and the boundary with lower compilers.
Semantic authority¶
A compilation call selects the target outside the DSL. A target is not a source value, constexpr, type or control condition. The same source and canonical Kernel IR can be compiled for different targets. Target capabilities determine lowering legality without changing logical results, control, effects or interface semantics.
Compiler IR, passes, target lowering and runtime semantics build on the programming model and DSL. Existing implementations, historical reports and target APIs do not redefine the language.
Use the language switcher for 中文 or English. Chinese specifications retain their Markdown paths; English translations use matching .en.md files. Build and publish documentation covers local preview and GitHub Pages deployment.