Skip to main content

Crate irithyll_core

Crate irithyll_core 

Source
Expand description

Zero-alloc inference engine for irithyll streaming ML models.

irithyll-core provides a compact binary format and branch-free traversal for deploying trained SGBT models on embedded targets (Cortex-M0+, 32KB flash).

§Features

  • 12-byte packed nodes — 5 nodes per 64-byte cache line
  • Zero-copy EnsembleView — constructed from &[u8], no allocation after validation
  • Branch-free traversalcmov/csel child selection, no pipeline stalls
  • #![no_std] — zero mandatory dependencies, runs on bare metal

§Usage

use irithyll_core::{EnsembleView, FormatError};

// Load packed binary (e.g. from flash, file, or network)
let packed_bytes: &[u8] = &[/* exported via irithyll::export_embedded() */];
let view = EnsembleView::from_bytes(packed_bytes)?;
let prediction = view.predict(&[1.0f32, 2.0, 3.0]);

Re-exports§

pub use error::FormatError;
pub use packed::EnsembleHeader;
pub use packed::PackedNode;
pub use packed::TreeEntry;
pub use packed_i16::PackedNodeI16;
pub use packed_i16::QuantizedEnsembleHeader;
pub use view::EnsembleView;
pub use view_i16::QuantizedEnsembleView;

Modules§

error
Minimal error types for the packed binary format.
math
Platform-agnostic f64 math operations.
packed
12-byte packed node format and ensemble binary layout.
packed_i16
8-byte quantized packed node format for integer-only inference.
quantize
f64 → f32 quantization utilities for packed export.
traverse
Branch-free tree traversal for packed nodes.
traverse_i16
Branch-free tree traversal for quantized i16 packed nodes.
view
Zero-copy, zero-alloc inference view over a packed ensemble binary.
view_i16
Zero-copy, zero-alloc inference view over a quantized (int16) ensemble binary.