Welcome to the Open Offload Interface (OOI) repository.
OOI defines a minimal, vendor-neutral protocol for the discovery and description of compute resources in heterogeneous systems. By describing device behavior rather than hardware implementation, OOI enables the creation of deterministic, scalable, and multi-layer compute systems.
Modern compute architectures consist of diverse processing units and complex memory hierarchies. OOI provides an abstraction layer that allows these heterogeneous systems to present themselves as a single logical device to the operating system, while internally coordinating multiple compute classes and memory tiers. Applications remain unaware of the underlying complexity, while the runtime ensures efficient and predictable execution.
- Behavior-oriented abstraction: Focus on what a component does, not how it is built.
- Minimal core specification: Keep the core lightweight with clear extensibility.
- Deterministic capability description: Predictable latency, memory access, and execution.
- Vendor neutrality: Hardware agnostic design.
- Forward compatibility: Safe extension mechanisms for future technologies.
The complete technical specification can be found here: 👉 Read the OOI Specification (Spec.md)
- Scope & Design Principles
- Discovery Flow
- Capability Block Definition
- Map Aggregation & OS Exposure
- Deterministic Execution Model
- Example Use Case (Real-Time Rendering)
Apache 2.0