NEW Artificial Intelligence Lab: Aura SDK (Alpha) is released with native Hexagon NPU offloading on Snapdragon X.

Aura SDK Overview

A high-performance local AI inference engine engineered for Windows-ARM64 Snapdragon platforms.

The aura-sdk is a high-performance local AI inference engine engineered specifically for Snapdragon X Elite and Plus platforms. It enables execution of AI models directly on Qualcomm Hexagon NPUs and Oryon CPUs, bypassing virtualization layers to achieve low-latency execution.

Key Features

  • Native Genie Engine: Uses the Qualcomm NPU (Hexagon) for best performance, requiring models in Genie binary format.
  • Aura Engine (ORT): ONNX Runtime backend with QNN execution provider support for Oryon ARM64 CPU execution.
  • Zero-Copy Shared Memory: Direct memory mappings to Hexagon DSP memory spaces to eliminate CPU-to-NPU serialization overhead.

API Integration

To integrate Aura SDK into your Rust application, add it to your Cargo.toml dependencies:

[dependencies]
aura-sdk = { version = "0.2.1" }

To enable ONNX Runtime support (Aura Engine), include the aura-engine feature:

[dependencies]
aura-sdk = { version = "0.2.1", features = ["aura-engine"] }

Running Inference

Genie Engine (Native NPU)

use std::path::Path;
use aura_sdk::engines::GenieEngine;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config_path = Path::new("phi_3_5_mini_instruct-genie-w4a16-qualcomm/genie_config.json");
    let engine = GenieEngine::new(config_path)?;
    
    engine.query_sync("Explain NPUs in one sentence.", 512, |token| {
        print!("{}", token);
    })?;
    
    Ok(())
}

Aura Engine (ONNX Runtime Mode)

use std::path::Path;
use aura_sdk::engines::AuraEngine;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let model_path = Path::new("Llama-1B-ONNX/onnx/model_q4.onnx");
    let mut engine = AuraEngine::new(model_path, "43")?;
    
    engine.query("Explain NPUs in one sentence.", 512, |token| {
        print!("{}", token);
    })?;
    
    Ok(())
}