Oscilon C++ API Reference
Oscilon provides a modern, header-only C++17 API designed for building deterministic Evolutionary Adaptive Intelligence (EAI) systems. The API emphasizes sparse, targeted operations on neural networks, enabling efficient evolution on edge and healthcare-targeted hardware without Python dependencies. All classes and functions are in the oscilon namespace.
| Members | |
| oscilon::Network | Represents a mutable neural network model supporting layers, weights, and connections. Load/save in compact .osm format optimized for embedded deployment. |
| oscilon::ErrorScanner | Scans a network during forward pass to identify error-prone nodes using per-node loss contribution metrics (scalar-level analysis). |
| oscilon::Mutator | Applies targeted genetic algorithm (GA)-based mutations exclusively to flagged nodes. Supports weight adjustment, connection pruning/addition, and activation changes with deterministic commitment based on fitness thresholds. |
| oscilon::FitnessEvaluator | User-extensible class for defining deterministic fitness functions. Built-in thresholds ensure only beneficial mutations are retained (no probabilistic acceptance). |
| oscilon::Profiler | Lightweight profiling tool to monitor mutation efficiency, node-level compute, and convergence timing—essential for resource-constrained hardware. |
| Members | |
| oscilon::data::Pipeline | Zero-copy, real-time data pipeline for heterogeneous edge sources (e.g., sensors on AMD Zynq™ MPSoCs). Supports streaming, normalization, and deterministic missing-value imputation. |
| oscilon::data::SensorStream | Direct buffer mapping from device I/O for single-sample inference in healthcare monitoring scenarios. |
| oscilon::data::Transform | Base class for pipeline transforms (e.g., Normalize, ImputeMissing with deterministic strategies). |
| Members | |
| oscilon::DistributedContext | Manages parallel mutation evaluation across heterogeneous backends (AMD ROCm/HIP, Apple Metal, FPGA offload). |
| oscilon::BackendROCm | AMD GPU acceleration interface for parallel fitness scoring and mutation application. |
| oscilon::BackendMetal | Apple GPU (macOS/iOS) acceleration for mobile/edge evolutionary refinement. |
| oscilon::BackendFPGA | Integration hooks for AMD Zynq™ UltraScale+™ MPSoCs via Xilinx tools—custom kernel offload for ultra-low-power mutation pipelines. |
| Members | |
| oscilon::load(const std::string& path) | Loads a serialized .osm model (full or checkpoint). |
| oscilon::save(const Network& net, const std::string& path) | Saves model in compact binary format suitable for embedded transfer. |
| oscilon::save_checkpoint(const Network& net, const std::string& path, int iteration) | Saves intermediate evolutionary state with metadata. |
| Members | |
| oscilon::Evolver | High-level orchestrator for sparse evolutionary cycles: scan → mutate → evaluate → commit. Configurable for generations, population size (lightweight), and early-stop thresholds. |
| oscilon::MutationStrategy | Pre-built strategies: WeightPerturb, PruneConnect, ActivationSwap—targeted only at error-prone nodes. |
| oscilon::ConvergenceMonitor | Tracks fitness plateau and enforces deterministic halting for guaranteed convergence in high-stakes applications. |
| Members | |
| oscilon::viz::MutationGraph | Generate node-level mutation timelines for debugging (export to Graphviz or future Oscilon Board integration). |
| oscilon::viz::FitnessPlot | Simple convergence curve generation for analysis. |