Skip to main content

Crate wave_emu

Crate wave_emu 

Source
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. DeviceMemory is 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.

Structs§

Emulator
EmulatorConfig
EmulatorResult
KernelMetadata

Enums§

EmulatorError

Functions§

load_binary_file