pub trait CircuitBindings {
// Provided methods
fn circuit_prepare(
&self,
_gpu: &dyn GpuBackend,
_config: &ModelConfig,
_levers: &ModelLevers,
_stream: u64,
) -> Result<()> { ... }
fn circuit_layer(
&self,
_config: &ModelConfig,
_levers: &ModelLevers,
) -> Option<CircuitLayer> { ... }
}Expand description
2026-09-28: A supertrait of TransformerLayer; see the module header.
Provided Methods§
Sourcefn circuit_prepare(
&self,
_gpu: &dyn GpuBackend,
_config: &ModelConfig,
_levers: &ModelLevers,
_stream: u64,
) -> Result<()>
fn circuit_prepare( &self, _gpu: &dyn GpuBackend, _config: &ModelConfig, _levers: &ModelLevers, _stream: u64, ) -> Result<()>
2026-09-28: Build the lazily built weights the bound kernels read (the MMQ repacks a
first wide batch would otherwise build), so a binding can hand them out. Queued on
stream.
Sourcefn circuit_layer(
&self,
_config: &ModelConfig,
_levers: &ModelLevers,
) -> Option<CircuitLayer>
fn circuit_layer( &self, _config: &ModelConfig, _levers: &ModelLevers, ) -> Option<CircuitLayer>
2026-09-28: This layer for the circuit executor; None for a layer type it does not bind.
config and levers are the model’s, as its decode reads them.