irithyll-core 0.1.0

Zero-alloc inference engine for irithyll streaming ML models — no_std, 12-byte packed nodes, branch-free traversal
Documentation

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]);