Expand description
Public API for the WAVE emulator. Provides Emulator struct for running WAVE
binaries, configuration options for grid/workgroup dimensions, and execution results with statistics. Entry point for programmatic use of the emulator.
Modules§
- barrier
- Workgroup barrier synchronization. Tracks which waves have reached the barrier,
- control_
flow - Structured control flow with divergence support. Maintains a stack of active
- core
- Core simulation engine. Manages waves within a workgroup, coordinates barrier
- decoder
- Binary instruction decoder for WBIN format. Wraps wave-decode and provides
- executor
- Instruction executor. Decodes instructions from binary, dispatches to appropriate
- memory
- Memory subsystem implementation.
DeviceMemoryis global shared storage across - scheduler
- Wave scheduler for multi-wave workgroups. Round-robin selection of ready waves,
- shuffle
- Wave shuffle and collective operations. Implements cross-lane communication
- stats
- Execution statistics tracking. Counts instructions by category (integer, float,
- thread
- Per-thread execution state. Each thread has a register file (32 x u32), four
- wave
- Wave state management. A wave contains W threads sharing a program counter.