ronn-providers 0.1.0

Execution provider framework for RONN - hardware abstraction layer
Documentation

RONN Execution Provider Framework

This crate provides the execution provider framework for RONN, including:

  • Provider registry and management system
  • Memory allocator implementations with pooling and SIMD alignment
  • CPU execution provider with SIMD optimizations and multi-threading
  • GPU execution provider using Candle backend
  • Kernel compilation framework with operator fusion

Architecture

The provider framework follows a layered architecture:

  • Registry: Central provider management and selection
  • Allocators: Memory management with different strategies
  • Providers: Hardware-specific execution implementations
  • Compiler: Subgraph optimization and kernel compilation

Example

use ronn_providers::{
    ProviderRegistry, create_cpu_provider, create_gpu_provider,
    KernelCompiler, FusionConfig, MemoryConfig
};
use ronn_core::{SubGraph, GraphNode};
use std::sync::Arc;

// Create provider registry
let registry = ProviderRegistry::new();

// Register CPU provider
let cpu_provider = create_cpu_provider()?;
registry.register_provider(cpu_provider)?;

// Try to register GPU provider (may fail if no GPU)
if let Ok(gpu_provider) = create_gpu_provider() {
    registry.register_provider(gpu_provider)?;
}

# Ok::<(), Box<dyn std::error::Error>>(())