API

Core, data, and cryptography

Core runtime, numerical operations, datasets, and cryptography.

Generated from rustdocNative Rust surface91 functions182 types38 enums298 constants & variables
This inventory is generated from public rustdoc declarations. Modules, structs, enums, traits, aliases, signatures, source comments, and source links follow the native Rust API.

Examples

oa

Functions

Translate a NumericMode into the equivalent env-knob state. Called once at engine init. User-set env vars always win (EnvFlag::set_if_unset checks before writing). ModeEnv vars touched Fastnone StableOA_FORCE_PRECISION=FP32, OA_DISABLE_COOPMAT=1 Deterministicabove + OA_DISABLE_PERSISTENT_LOOP=1 Port provenance: oa::applyNumericMode in oa/core/envFlag.h.

Prepend VIEWPORT_TITLE to a custom window title. Empty title → returns "OaViewport". Title already starts with "OaViewport" → returned unchanged (no double-prepend). Otherwise → "OaViewport" + title. Port provenance: oa::brandViewport in oa/core/constant.h.

Types

3 members

Keras-style hook interface for OA iterator sessions. Attach one or more callbacks to a session via its add_callback method. All hooks receive a &dyn IteratorContext so callbacks stay decoupled from the concrete session type. Mapping from C++C++Rust onBegin(Iterator&)on_begin(&mut self, ctx) onStep(Iterator&)on_step(&mut self, ctx) onEnd(Iterator&)on_end(&mut self, ctx) C++ used virtual inheritance; Rust uses dynamic dispatch through Box<dyn Callback>. The C++ move-constructor convention maps to Rust’s normal ownership — place Box<dyn Callback> values in a Vec rather than raw pointers.

Source
8 members
4 members
20 members

Command-line configuration with YAML + argv precedence. Type parameter C is any config struct that implements Default. Defaults are the base layer; a YAML file loaded via -c/--config overrides them; explicit argv flags override those. YAML support YAML loading is the caller’s responsibility. Pass a loader closure to Cli::parse_args_with_yaml to apply YAML fields before argv parsing when a -c/--config path is present.

Source
34 members

Four-component RGBA color used by UI, plotting, overlays, and ordinary normalized render colors.

f32
f32
f32
f32

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

method

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

method

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

method

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static
Source
7 members
4 members
6 members
22 members

Stateless host-filesystem operations. All methods are free functions on &Path. There is no instance state. Matches the surface of oa::Filesystem in C++ and its Python bindings so that cross-language code reads identically: ⓘFilesystem::create_directories(output.parent().unwrap())?; let text = Filesystem::read_text(&config_path)?;

Source
3 members

Object-safe view of an iterator’s current state, passed to every Callback hook. The concrete iterator (e.g. TrainingLoop) implements this privately; the callback only needs the interface.

Source
4 members
11 members
8 members
32 members

Device-visible numeric storage with explicit shape and dtype semantics. Arithmetic operators delegate to crate::matrix and return Result<Matrix>: use let sum = (&left + &right)?;. They preserve validation, allocation, and recording failures without panicking. Multiplication is elementwise; use crate::matrix::mat_mul_nt for matrix multiplication.

Source
6 members
45 members

Logical value effects of an operation.

Source
24 members

Stable semantic contract for one operation before backend lowering. Generated operation registries own these descriptors. The builder-style const methods are public so generated code remains ordinary inspectable Rust rather than a private binary table.

Source
40 members

An owned OA path value. Wraps std::path::PathBuf and adds the canonical OA named-location resolvers as associated functions. All std::fs calls and crate::Filesystem methods accept &oa::Path directly through Deref. ⓘlet wav = oa::Path::asset_rel("audio/oaNarration.wav"); let out = oa::Path::var_rel("example/audio/out.wav"); let ckpt = oa::Path::temp().join("model.oam");

Source
14 members
0 members

Result returned by fallible OA operations.

Source
2 members

RAII scoped timer. Borrows a f64 and writes elapsed seconds on drop. ⓘlet mut elapsed = 0.0_f64; { let _t = oa::ScopedTimer::new(&mut elapsed); expensive_work(); } println!("took {elapsed:.3}s");

Source
10 members
18 members

Nanosecond-precision monotonic timestamp. Internally stores nanoseconds elapsed since an arbitrary monotonic origin. Two Timestamp values from the same process can be subtracted; the result is meaningful as a Duration. Do not compare values across processes.

Source
24 members

Semantic local spatial transform value. Stores translation + unit-quaternion rotation + per-axis scale + optional dimensionless row-basis shear (XY, XZ, YZ). All constructed values are finite; operations that would produce a non-finite result leave the value unchanged and return an error. Donor: oa::Transform.

Source
10 members

Enums

Read/write access qualifier for a buffer binding. Port provenance: oa::BufferAccess in oa/core/bufferAccess.h.

Read · Write · ReadWrite

Scalar data representation of an OA value.

U8 · F32 · I32 · U32

Stable category for an OA failure.

InvalidArgument · NotReady · BackendUnavailable · BackendFailure · UnsupportedBackendVersion · NoSuitableDevice · MissingCapability · ResourceExhausted · FailedPrecondition · OutOfRange · NotFound · AlreadyExists · Aborted · CallbackFailure · CheckpointCorrupt · DataLoss · Internal · Io

Process-wide numerical execution policy. Core owns the vocabulary and its environment mapping; the runtime engine consumes it through EngineConfig. ModeEffect Fastvendor math, non-deterministic reductions StableFP32 accumulators, CoopMat disabled Deterministicfixed reduction order, no race-dependent atomics Port provenance: oa::NumericMode in oa/core/envFlag.h.

Fast = 0 · Stable = 1 · Deterministic = 2

One ordered non-value input that affects operation meaning.

Boolean · SignedInteger · UnsignedInteger · Float · String · Shape · Enum

Stable type tag for a non-value operation attribute.

Boolean · SignedInteger · UnsignedInteger · Float · String · Shape · Enum

Semantic control-flow class of an operation.

StraightLine · Conditional · Loop

Uniform dtype relationship declared by an operation schema.

MatchInput · PromoteFloat · Explicit

Reverse-differentiation behavior declared by an operation schema.

None · Reverse

Backend-neutral lowering family requested by an operation schema.

Dispatch · Gemm

Uniform shape relationship declared by an operation schema.

MatchInput · Broadcast · MatMulNt · Explicit

Semantic kind of one operation value.

Matrix · Image · Audio · VideoFrame · QuantMatrix · Texture

Severity levels for validation messages. Port provenance: oa::ValidationSeverity.

Verbose = 0 · Info = 1 · Warning = 2 · Error = 3 · Fatal = 4

Constants & Variables

pub const COMPACT_BANNER: &str = r" ╔═══════════════════════════════════════════════════════════════════════════════╗ ║ oa::Library ║ ║ The Library. Every Vendor. Vulkan Native. ║ ╚═══════════════════════════════════════════════════════════════════════════════╝ ";Source
pub const REALM_BANNER: &str = r" ██████╗ ███████╗ █████╗ ██╗ ███╗ ███╗ ██╔══██╗██╔════╝██╔══██╗██║ ████╗ ████║ ██████╔╝█████╗ ███████║██║ ██╔████╔██║ ██╔══██╗██╔══╝ ██╔══██║██║ ██║╚██╔╝██║ ██║ ██║███████╗██║ ██║███████╗██║ ╚═╝ ██║ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ";Source
pub const VIEWPORT_TITLE: &str = "OaViewport";Source

Functions

Translate a NumericMode into the equivalent env-knob state. Called once at engine init. User-set env vars always win (EnvFlag::set_if_unset checks before writing). ModeEnv vars touched Fastnone StableOA_FORCE_PRECISION=FP32, OA_DISABLE_COOPMAT=1 Deterministicabove + OA_DISABLE_PERSISTENT_LOOP=1 Port provenance: oa::applyNumericMode in oa/core/envFlag.h.

Prepend VIEWPORT_TITLE to a custom window title. Empty title → returns "OaViewport". Title already starts with "OaViewport" → returned unchanged (no double-prepend). Otherwise → "OaViewport" + title. Port provenance: oa::brandViewport in oa/core/constant.h.

Recover a unit quaternion from a 6-component rotation representation. Donor: oa::FnTransform::quaternionFromSixD.

Pack a unit quaternion into a 6-component continuous rotation representation. The first two columns of the rotation matrix (rows in row-vector convention) are stored as [r0x, r0y, r0z, r1x, r1y, r1z]. The third column is recovered by the cross product at decode time. Donor: oa::FnTransform::quaternionToSixD.

Types

3 members

Keras-style hook interface for OA iterator sessions. Attach one or more callbacks to a session via its add_callback method. All hooks receive a &dyn IteratorContext so callbacks stay decoupled from the concrete session type. Mapping from C++C++Rust onBegin(Iterator&)on_begin(&mut self, ctx) onStep(Iterator&)on_step(&mut self, ctx) onEnd(Iterator&)on_end(&mut self, ctx) C++ used virtual inheritance; Rust uses dynamic dispatch through Box<dyn Callback>. The C++ move-constructor convention maps to Rust’s normal ownership — place Box<dyn Callback> values in a Vec rather than raw pointers.

Source
8 members
4 members
20 members

Command-line configuration with YAML + argv precedence. Type parameter C is any config struct that implements Default. Defaults are the base layer; a YAML file loaded via -c/--config overrides them; explicit argv flags override those. YAML support YAML loading is the caller’s responsibility. Pass a loader closure to Cli::parse_args_with_yaml to apply YAML fields before argv parsing when a -c/--config path is present.

Source
34 members

Four-component RGBA color used by UI, plotting, overlays, and ordinary normalized render colors.

f32
f32
f32
f32

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

method

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

method

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

method

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static

Pack to 0xRRGGBBAA, clamping each component and rounding to nearest.

static
Source
7 members
1 members

Rust host type that has one exact admitted dense DType representation. This trait is sealed so OA can uphold the no-padding and bit-validity requirements used by checked upload and readback.

Source
4 members
6 members
22 members

Stateless host-filesystem operations. All methods are free functions on &Path. There is no instance state. Matches the surface of oa::Filesystem in C++ and its Python bindings so that cross-language code reads identically: ⓘFilesystem::create_directories(output.parent().unwrap())?; let text = Filesystem::read_text(&config_path)?;

Source
3 members

Object-safe view of an iterator’s current state, passed to every Callback hook. The concrete iterator (e.g. TrainingLoop) implements this privately; the callback only needs the interface.

Source
4 members
11 members
8 members
32 members

Device-visible numeric storage with explicit shape and dtype semantics. Arithmetic operators delegate to crate::matrix and return Result<Matrix>: use let sum = (&left + &right)?;. They preserve validation, allocation, and recording failures without panicking. Multiplication is elementwise; use crate::matrix::mat_mul_nt for matrix multiplication.

Source
6 members
45 members

Logical value effects of an operation.

Source
24 members

Stable semantic contract for one operation before backend lowering. Generated operation registries own these descriptors. The builder-style const methods are public so generated code remains ordinary inspectable Rust rather than a private binary table.

Source
40 members

An owned OA path value. Wraps std::path::PathBuf and adds the canonical OA named-location resolvers as associated functions. All std::fs calls and crate::Filesystem methods accept &oa::Path directly through Deref. ⓘlet wav = oa::Path::asset_rel("audio/oaNarration.wav"); let out = oa::Path::var_rel("example/audio/out.wav"); let ckpt = oa::Path::temp().join("model.oam");

Source
14 members
0 members

Result returned by fallible OA operations.

Source
2 members

RAII scoped timer. Borrows a f64 and writes elapsed seconds on drop. ⓘlet mut elapsed = 0.0_f64; { let _t = oa::ScopedTimer::new(&mut elapsed); expensive_work(); } println!("took {elapsed:.3}s");

Source
10 members
18 members

Nanosecond-precision monotonic timestamp. Internally stores nanoseconds elapsed since an arbitrary monotonic origin. Two Timestamp values from the same process can be subtracted; the result is meaningful as a Duration. Do not compare values across processes.

Source
24 members

Semantic local spatial transform value. Stores translation + unit-quaternion rotation + per-axis scale + optional dimensionless row-basis shear (XY, XZ, YZ). All constructed values are finite; operations that would produce a non-finite result leave the value unchanged and return an error. Donor: oa::Transform.

Source
10 members

Enums

Read/write access qualifier for a buffer binding. Port provenance: oa::BufferAccess in oa/core/bufferAccess.h.

Read · Write · ReadWrite

Scalar data representation of an OA value.

U8 · F32 · I32 · U32

Stable category for an OA failure.

InvalidArgument · NotReady · BackendUnavailable · BackendFailure · UnsupportedBackendVersion · NoSuitableDevice · MissingCapability · ResourceExhausted · FailedPrecondition · OutOfRange · NotFound · AlreadyExists · Aborted · CallbackFailure · CheckpointCorrupt · DataLoss · Internal · Io

Process-wide numerical execution policy. Core owns the vocabulary and its environment mapping; the runtime engine consumes it through EngineConfig. ModeEffect Fastvendor math, non-deterministic reductions StableFP32 accumulators, CoopMat disabled Deterministicfixed reduction order, no race-dependent atomics Port provenance: oa::NumericMode in oa/core/envFlag.h.

Fast = 0 · Stable = 1 · Deterministic = 2

One ordered non-value input that affects operation meaning.

Boolean · SignedInteger · UnsignedInteger · Float · String · Shape · Enum

Stable type tag for a non-value operation attribute.

Boolean · SignedInteger · UnsignedInteger · Float · String · Shape · Enum

Semantic control-flow class of an operation.

StraightLine · Conditional · Loop

Uniform dtype relationship declared by an operation schema.

MatchInput · PromoteFloat · Explicit

Reverse-differentiation behavior declared by an operation schema.

None · Reverse

Backend-neutral lowering family requested by an operation schema.

Dispatch · Gemm

Uniform shape relationship declared by an operation schema.

MatchInput · Broadcast · MatMulNt · Explicit

Semantic kind of one operation value.

Matrix · Image · Audio · VideoFrame · QuantMatrix · Texture

Severity levels for validation messages. Port provenance: oa::ValidationSeverity.

Verbose = 0 · Info = 1 · Warning = 2 · Error = 3 · Fatal = 4

Constants & Variables

pub const COMPACT_BANNER: &str = r" ╔═══════════════════════════════════════════════════════════════════════════════╗ ║ oa::Library ║ ║ The Library. Every Vendor. Vulkan Native. ║ ╚═══════════════════════════════════════════════════════════════════════════════╝ ";Source
pub const REALM_BANNER: &str = r" ██████╗ ███████╗ █████╗ ██╗ ███╗ ███╗ ██╔══██╗██╔════╝██╔══██╗██║ ████╗ ████║ ██████╔╝█████╗ ███████║██║ ██╔████╔██║ ██╔══██╗██╔══╝ ██╔══██║██║ ██║╚██╔╝██║ ██║ ██║███████╗██║ ██║███████╗██║ ╚═╝ ██║ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ";Source
pub const VIEWPORT_TITLE: &str = "OaViewport";Source

Types

3 members

Keras-style hook interface for OA iterator sessions. Attach one or more callbacks to a session via its add_callback method. All hooks receive a &dyn IteratorContext so callbacks stay decoupled from the concrete session type. Mapping from C++C++Rust onBegin(Iterator&)on_begin(&mut self, ctx) onStep(Iterator&)on_step(&mut self, ctx) onEnd(Iterator&)on_end(&mut self, ctx) C++ used virtual inheritance; Rust uses dynamic dispatch through Box<dyn Callback>. The C++ move-constructor convention maps to Rust’s normal ownership — place Box<dyn Callback> values in a Vec rather than raw pointers.

Source
8 members
3 members

Object-safe view of an iterator’s current state, passed to every Callback hook. The concrete iterator (e.g. TrainingLoop) implements this privately; the callback only needs the interface.

Source

Types

20 members

Command-line configuration with YAML + argv precedence. Type parameter C is any config struct that implements Default. Defaults are the base layer; a YAML file loaded via -c/--config overrides them; explicit argv flags override those. YAML support YAML loading is the caller’s responsibility. Pass a loader closure to Cli::parse_args_with_yaml to apply YAML fields before argv parsing when a -c/--config path is present.

Source
4 members
17 members

Sealed helper for CLI value parsing.

Source

Types

Functions

Prepend VIEWPORT_TITLE to a custom window title. Empty title → returns "OaViewport". Title already starts with "OaViewport" → returned unchanged (no double-prepend). Otherwise → "OaViewport" + title. Port provenance: oa::brandViewport in oa/core/constant.h.

Constants & Variables

pub const COMPACT_BANNER: &str = r" ╔═══════════════════════════════════════════════════════════════════════════════╗ ║ oa::Library ║ ║ The Library. Every Vendor. Vulkan Native. ║ ╚═══════════════════════════════════════════════════════════════════════════════╝ ";Source
pub const REALM_BANNER: &str = r" ██████╗ ███████╗ █████╗ ██╗ ███╗ ███╗ ██╔══██╗██╔════╝██╔══██╗██║ ████╗ ████║ ██████╔╝█████╗ ███████║██║ ██╔████╔██║ ██╔══██╗██╔══╝ ██╔══██║██║ ██║╚██╔╝██║ ██║ ██║███████╗██║ ██║███████╗██║ ╚═╝ ██║ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ";Source

Functions

Translate a NumericMode into the equivalent env-knob state. Called once at engine init. User-set env vars always win (EnvFlag::set_if_unset checks before writing). ModeEnv vars touched Fastnone StableOA_FORCE_PRECISION=FP32, OA_DISABLE_COOPMAT=1 Deterministicabove + OA_DISABLE_PERSISTENT_LOOP=1 Port provenance: oa::applyNumericMode in oa/core/envFlag.h.

Types

Enums

Process-wide numerical execution policy. Core owns the vocabulary and its environment mapping; the runtime engine consumes it through EngineConfig. ModeEffect Fastvendor math, non-deterministic reductions StableFP32 accumulators, CoopMat disabled Deterministicfixed reduction order, no race-dependent atomics Port provenance: oa::NumericMode in oa/core/envFlag.h.

Fast = 0 · Stable = 1 · Deterministic = 2

Types

22 members

Stateless host-filesystem operations. All methods are free functions on &Path. There is no instance state. Matches the surface of oa::Filesystem in C++ and its Python bindings so that cross-language code reads identically: ⓘFilesystem::create_directories(output.parent().unwrap())?; let text = Filesystem::read_text(&config_path)?;

Source

Types

Types

Functions

Copy one complete byte slice into another non-overlapping slice. Small dynamic copies use fixed compiler-known blocks. Qualified medium copies use cached SIMD stores; bulk copies retain the platform implementation. Errors Returns an error when the slices have different lengths.

Copy one complete byte slice using an explicit one-way streaming policy. The destination must not be consumed by the CPU soon. On a qualified x86-64 target, medium-sized copies use non-temporal stores. Other sizes use cached stores, preferring the platform routine above the small-copy range. Errors Returns an error when the slices have different lengths.

Compare equal-length byte slices without content-dependent early exit. Different public lengths may return immediately. For equal lengths, every byte is visited before the result is produced. This is a bounded primitive, not a claim of system-wide constant-time behavior on every platform.

Erase every byte through observable stores. Unlike ordinary filling or zeroing, these writes are retained even when the compiler can prove the destination is not subsequently read. This does not erase copies held elsewhere or guarantee removal from caches or swap.

Constants & Variables

Constants & Variables

Constants & Variables

Constants & Variables

Constants & Variables

Constants & Variables

Constants & Variables

Types

40 members

An owned OA path value. Wraps std::path::PathBuf and adds the canonical OA named-location resolvers as associated functions. All std::fs calls and crate::Filesystem methods accept &oa::Path directly through Deref. ⓘlet wav = oa::Path::asset_rel("audio/oaNarration.wav"); let out = oa::Path::var_rel("example/audio/out.wav"); let ckpt = oa::Path::temp().join("model.oam");

Source

Types

Types

7 members
2 members

RAII scoped timer. Borrows a f64 and writes elapsed seconds on drop. ⓘlet mut elapsed = 0.0_f64; { let _t = oa::ScopedTimer::new(&mut elapsed); expensive_work(); } println!("took {elapsed:.3}s");

Source
10 members
18 members

Nanosecond-precision monotonic timestamp. Internally stores nanoseconds elapsed since an arbitrary monotonic origin. Two Timestamp values from the same process can be subtracted; the result is meaningful as a Duration. Do not compare values across processes.

Source

Functions

Recover a unit quaternion from a 6-component rotation representation. Donor: oa::FnTransform::quaternionFromSixD.

Pack a unit quaternion into a 6-component continuous rotation representation. The first two columns of the rotation matrix (rows in row-vector convention) are stored as [r0x, r0y, r0z, r1x, r1y, r1z]. The third column is recovered by the cross product at decode time. Donor: oa::FnTransform::quaternionToSixD.

Types

24 members

Semantic local spatial transform value. Stores translation + unit-quaternion rotation + per-axis scale + optional dimensionless row-basis shear (XY, XZ, YZ). All constructed values are finite; operations that would produce a non-finite result leave the value unchanged and return an error. Donor: oa::Transform.

Source

Types

Enums

Severity levels for validation messages. Port provenance: oa::ValidationSeverity.

Verbose = 0 · Info = 1 · Warning = 2 · Error = 3 · Fatal = 4

Functions

Take the absolute value of every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Add two matrices elementwise using multidirectional broadcasting. Shapes use multidirectional broadcasting over at most eight axes. The I32 route uses two’s-complement wrapping arithmetic. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Add a scalar to every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Count rows whose last-axis FP32 argmax equals the integer class label. The returned [1] U32 Matrix remains device-resident. Reading it is an explicit synchronization boundary. Errors Returns an error when logits are not a nonempty rank-two-or-greater FP32 Matrix, labels do not match the leading logits shape or use U8/U32/I32, inputs belong to different engines, a size exceeds the shader ABI, allocation fails, or recording fails.

Cap every FP32 matrix element at an upper bound. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Raise every FP32 matrix element to a lower bound. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Concatenate one or more same-dtype matrices along one axis. This is the direct Rust spelling of OA C++ FnMatrix::concat. One semantic operation lowers to one copy-region dispatch per nonempty input. Errors Returns an error when there are no inputs, rank is outside one through four, dtype, engine, rank, or non-concatenated extents differ, the axis is invalid, shape or shader-ABI arithmetic overflows, allocation fails, or recording fails.

Deep-copy a dense matrix into independent device storage. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Take the cosine of every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Divide two FP32 matrices elementwise using multidirectional broadcasting. Shapes use multidirectional broadcasting over at most eight axes. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Divide every FP32 matrix element by a scalar. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Apply inverted Dropout with a Philox-generated mask. Kept values are scaled by 1 / (1 - probability). The effective seed is retained for the reverse pass, and captured execution advances its random counter once per replay without rebuilding the graph. Errors Returns an error unless input is FP32, probability is finite and in [0, 1), or runtime allocation/recording fails.

Compare every FP32 element with one scalar and return an FP32 zero/one mask. Equality follows the device’s ordinary IEEE comparison: NaN never compares equal, while positive and negative zero compare equal. The result is intentionally detached because a discrete mask has no admitted adjoint. Errors Returns an error when input is not FP32, its element count exceeds the shader ABI, allocation fails, or runtime recording fails.

Take the exponential of every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Create an FP32 matrix on this thread’s default engine. Errors Returns an error when the default engine cannot be initialized, the shape does not match values, or allocation and upload fail.

Create an FP32 matrix filled with value. Errors Returns an error when the shape or storage size overflows, or allocation and upload fail.

Gather rows from an FP32 table using arbitrary-shape integer indices. The table must be [rows,width]; indices are flattened and output is [num_indices,width], matching OA C++ FnMatrix::gather. U8, U32, and I32 indices use one bounded kernel. Invalid rows produce NaN without reading outside the table. Errors Returns an error for incompatible rank, dtype, Engine ownership, shader ABI, allocation, or recording.

Gather I32-selected elements from every row’s final axis. input is FP32 [R, C] and indices is I32 [R, K]; the result is FP32 [R, K]. Out-of-range indices produce zero, matching OA C++. Repeated indices accumulate deterministically in the reverse pass. Errors Returns an error unless both inputs are rank two on the same engine, row counts agree, dtypes match the contract, the input width is positive, sizes fit the shader ABI, allocation fails, or runtime recording fails.

Take the natural logarithm of every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Stable LogSoftmax over dim, where -1 selects the last dimension. The operation records asynchronously and returns its output immediately. Errors Returns an error when the input is empty or not FP32, dim is invalid, an axis extent or dispatch count exceeds the shader ABI, allocation fails, or runtime recording fails.

Count correct categorical predictions only where the FP32 mask is nonzero. The returned [1] U32 Matrix remains device-resident. Reading it is an explicit synchronization boundary. Errors Returns an error under the same conditions as categorical_accuracy_count, or when the mask is not FP32, does not match the labels shape, or belongs to another engine.

Multiply A by the transpose of B using the OA weight-layout convention. left has shape [M, K], right has shape [N, K], and the returned matrix has shape [M, N]. This matches OA’s native weight-layout convention and does not transpose storage. The call records device work and returns without a host wait. Errors Returns an error when either input is not a rank-two FP32 matrix, their K extents differ, they belong to different engines, a dimension exceeds the admitted shader ABI, or allocation or recording fails.

Build a stable dropless expert-major plan from I32 [T, K] indices. Within every expert, routes preserve their original token-major order. The operation accepts at most 256 experts, matching the shader’s shared state. Errors Returns an error unless indices are nonempty rank-two I32, the expert count is in 1..=256, sizes fit the admitted ABI, allocation succeeds, or runtime recording succeeds.

Update an FP32 expert-routing bias from a dense FP32 selection mask. selection_mask is [T, E]; bias may be [E] or [1, E]. Each expert receives -gamma, +gamma, or no update when its observed route count is above, below, or equal to the balanced target T * K / E. The update stays device-resident and mutates bias through its existing value identity. Errors Returns an error unless both matrices are FP32 on the same engine, the mask and bias shapes agree, experts_per_token is in 1..=E, gamma is finite and positive, dimensions fit the shader ABI, or runtime recording fails.

Multiply two FP32 matrices elementwise. Shapes use multidirectional broadcasting over at most eight axes. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Negate every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Create an FP32 matrix filled with ones. Errors Returns an error when the shape or storage size overflows, or allocation and upload fail.

Generate normally distributed FP32 values with input’s shape. Errors Returns an error unless input is FP32, mean and stddev are finite, stddev is nonnegative, or runtime allocation/recording fails.

Generate uniformly distributed FP32 values with input’s shape. input supplies shape, dtype, engine, and semantic lineage; its values are not read. A nonzero seed is exact. Zero consumes the thread-local seed sequence controlled by set_rng_seed. Errors Returns an error unless input is FP32, low < high, both bounds are finite, or runtime allocation/recording fails.

Raise every FP32 matrix element to a scalar exponent. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Take the reciprocal of every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Repeat every FP32 element along one matrix axis. This is the direct Rust spelling of OA C++ FnMatrix::repeatInterleave. Rank-one through rank-four matrices are currently admitted. Errors Returns an error for an unsupported rank or dtype, non-positive repeat count, invalid axis, shape/ABI overflow, allocation failure, or recording failure.

Return a zero-copy dense view with a different shape. The result owns a new semantic value identity but shares storage, pending execution state, dtype, and element order with input. When a gradient tape is active, its adjoint reshapes the incoming gradient back to the input shape. Errors Returns an error when the requested shape overflows or changes the number of elements.

Sample one I32 class index from each final-axis row of FP32 logits. Nonpositive temperature selects the first maximum deterministically. Positive temperature uses the donor Philox categorical route; positive top_k restricts candidates and top_p applies nucleus truncation after descending TopK. Rank-one input is treated as one row. Errors Returns an error when logits are not nonempty rank-one or rank-two FP32, a sorted candidate count exceeds 1024, sizes do not fit the shader ABI, allocation fails, or runtime recording fails.

Multiply every FP32 matrix element by a scalar. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Replace the current thread’s implicit random seed source. Explicit nonzero operation seeds bypass this state. Passing zero to a Philox operation consumes one value from this deterministic thread-local sequence.

Take the sine of every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Materialize a half-open interval along one matrix axis. This is the direct Rust spelling of OA C++ FnMatrix::slice. The current checkpoint admits rank-one through rank-four FP32 matrices. Errors Returns an error when the rank, dtype, axis, range, shader ABI, allocation, or runtime recording contract is invalid.

Stable Softmax over dim, where -1 selects the last dimension. The operation records asynchronously and returns its output immediately. Errors Returns an error when the input is empty or not FP32, dim is invalid, an axis extent or dispatch count exceeds the shader ABI, allocation fails, or runtime recording fails.

Take the square root of every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Subtract two FP32 matrices elementwise using multidirectional broadcasting. Shapes use multidirectional broadcasting over at most eight axes. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Subtract a scalar from every FP32 matrix element. The call records device work and returns without a host wait. Errors Returns an error when the shape, dtype, ownership, allocation, or recording contract fails.

Sum all values when dim is -1, or keep and reduce one selected axis. A full reduction returns shape [1]; an axis reduction preserves rank and replaces the selected extent with one. The operation records asynchronously. Errors Returns an error when the input is empty or not FP32, dim is invalid, a size exceeds the admitted shader ABI, allocation fails, or recording fails.

Return the largest k FP32 values and their I32 indices on the last axis. Rank-one and rank-two inputs are admitted. dim may be -1 or the exact last-axis index. Values are sorted descending; ties select lower indices. k is clamped to the last-axis extent, matching OA C++. Errors Returns an error for an unsupported rank, dtype, axis, negative k, a request above the admitted 1024-entry GPU limit, an empty last axis, size overflow, allocation failure, or runtime recording failure.

Expand I32 [T, K] expert indices into an exact FP32 [T, E] mask. Errors Returns an error unless the input is nonempty rank-two I32, num_experts is positive, all sizes fit the shader ABI, or runtime recording fails.

Materialize a swap of the last two axes of a rank-two or rank-three Matrix. dim0 and dim1 accept positive or negative axes, but the current donor contract only admits the final two axes in either order. The result owns new storage and preserves the input dtype and batch order. Errors Returns an error unless the input is rank-two or rank-three F32, the axes select the distinct final two dimensions, all geometry fits the shader ABI, allocation succeeds, and runtime recording succeeds.

Types

32 members

Device-visible numeric storage with explicit shape and dtype semantics. Arithmetic operators delegate to crate::matrix and return Result<Matrix>: use let sum = (&left + &right)?;. They preserve validation, allocation, and recording failures without panicking. Multiplication is elementwise; use crate::matrix::mat_mul_nt for matrix multiplication.

Source
0 members

Device-resident stable dropless route plan returned by moe_expert_plan.

Source
0 members

Largest values and exact I32 source indices returned by top_k.

Source

Functions

Types

4 members
0 members
0 members
[[f64; 3]; 3]
Source
0 members
[[f64; 4]; 4]
Source
0 members
f64
f64
f64
f64
Source
0 members
0 members
0 members
f64
f64
f64
Source
0 members
f64
f64
f64
f64
Source
0 members
44 members

A floating-point scalar admitted by VLM. This sealed trait limits packed VLM values to f32 and f64 while allowing their shared implementation to stay generic and dependency-free.

Source
30 members

A packed 3×3 row-major matrix.

[[T; 3]; 3]
Source
53 members

A packed 4×4 row-major matrix.

[[T; 4]; 4]
Source
41 members

A packed vector-first quaternion (x, y, z, w).

Constructs an axis-angle rotation, returning None for invalid input.

static

Constructs an axis-angle rotation, returning None for invalid input.

method

Constructs an axis-angle rotation, returning None for invalid input.

method

Constructs an axis-angle rotation, returning None for invalid input.

method

Constructs an axis-angle rotation, returning None for invalid input.

method

Constructs an axis-angle rotation, returning None for invalid input.

method
method

Constructs an axis-angle rotation, returning None for invalid input.

method

Constructs an axis-angle rotation, returning None for invalid input.

method
Source
4 members
32 members

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method
method
Source
42 members

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method
method
Source
33 members

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method

Returns a unit vector, or None for a zero-length or non-finite value.

method
method
Source
7 members

Enums

Explicit Euler-axis application order.

Xyz · Xzy · Yxz · Yzx · Zxy · Zyx

Constants & Variables

pub const INVERSE_TOLERANCE: f32 = _; // 3.81469727E-6f32Source
pub const PI: f32 = std::f32::consts::PI; // 3.14159274f32Source
pub const TOLERANCE: f32 = 1.0e-5;Source

oa

Types

14 members
5 members
1 members
3 members
2 members
10 members
1 members

An ML-DSA-65 secret signing key. The implementation stores the standard 32-byte seed plus its expanded signing state; both are zeroized by the RustCrypto dependency on drop.

Source
10 members
5 members
5 members
9 members

Functions

Compute KMAC-256 according to NIST SP 800-185. Errors Returns an error when a bit length, encoded length, or allocation size overflows the platform or SP 800-185 u64 encoding.

Construct the inclusion proof for one leaf. Errors Returns an error for an empty tree or an out-of-range leaf index.

Compute the Merkle root, duplicating the final node of each odd level.

Types

14 members
5 members
3 members
2 members
10 members
5 members
5 members

Functions

Apply Keccak-f[1600] independently to every 200-byte row. Errors Rejects invalid shapes, dtypes, shader address limits, allocation or recording failures.

Reduce 32-byte leaf hashes to one Merkle root. Errors Rejects invalid shapes, dtypes, shader address limits, allocation or recording failures.

Hash every row with SHAKE-128. An output_length of zero selects 16 bytes. Output rows are padded to an eight-byte boundary, matching the OA donor ABI. Errors Rejects invalid shapes, dtypes, shader address limits, allocation or recording failures.

Hash every row with SHAKE-256. An output_length of zero selects 32 bytes. Output rows are padded to an eight-byte boundary, matching the OA donor ABI. Errors Rejects invalid shapes, dtypes, shader address limits, allocation or recording failures.

Functions

Generate a random ML-DSA-65 key pair using the operating-system RNG.

Verify ML-DSA-65 signatures on the originating Vulkan device, empty context. Each workgroup processes one (message, signature, public_key) triple. Results are device-resident U32 [batch_size]: 1 = valid, 0 = invalid or malformed. Every invalid path in the shader writes 0; no short-circuit path converts an invalid signature to valid. Arguments messages — U8 rank-1 [total_message_bytes] flat byte buffer. msg_offsets — U32 rank-1 [batch_size] byte start of each message. msg_lengths — U32 rank-1 [batch_size] byte length of each message. signatures — U8 rank-1 [batch_size × 3309] packed signatures in FIPS 204 6.4 wire format. public_keys — U8 rank-1 [batch_size × 1952] packed public keys in FIPS 204 6.2 wire format. Errors Returns an error for mismatched shapes, dtypes, engines, address limits, or an unavailable Vulkan pipeline. Out-of-range message offsets and lengths produce 0 for that row without host readback of the offset/length vectors. Status Experimental. Named software Vulkan execution is a correctness checkpoint; physical-device, performance and side-channel qualification remain separate.

Verify a selected ML-DSA batch with one shared FIPS 204 context. context is a byte range within messages, of length at most 255. Message offsets still identify each row independently; the context is a zero-copy view and is framed as 0x00 || len(context) || context || message. The context may overlap a message. Use separate batches for different contexts. All other inputs and results follow verify_batch_with_parameters. Capture retains the message value and records the context range as semantic attributes. Rebinding that input also rebinds its context bytes. This is pure ML-DSA verification, not the distinct HashML-DSA prehash interface. Errors Rejects reversed, out-of-bounds, or longer-than-255-byte context ranges, including for empty batches, plus the errors of verify_batch. This Experimental public-data route does not admit private-key execution.

Verify a batch using the selected FIPS 204 parameter set, empty context. Inputs and results follow verify_batch. Packed key and signature strides are MlDsaParameters::public_key_size and MlDsaParameters::signature_size; selecting a different parameter set never truncates, pads, or converts the encodings. Errors Rejects mismatched shapes, dtypes, engines, address limits, or unavailable Vulkan pipelines. Malformed encodings and out-of-range message rows return zero on the device. This Experimental public-data operation does not admit private-key execution or claim physical-device qualification.

Types

1 members
10 members
1 members

An ML-DSA-65 secret signing key. The implementation stores the standard 32-byte seed plus its expanded signing state; both are zeroized by the RustCrypto dependency on drop.

Source
9 members

Enums

FIPS 204 parameter set for device-resident batch verification. Host key and signature types in this module continue to describe ML-DSA-65.

MlDsa44 · MlDsa65 · MlDsa87

Constants & Variables

pub const PUBLIC_KEY_SIZE: usize = contracts::ML_DSA_65_PUBLIC_KEY_SIZE; // 1_952usizeSource
pub const SIGNATURE_SIZE: usize = contracts::ML_DSA_65_SIGNATURE_SIZE; // 3_309usizeSource

oa

Types

1 members

Batched output: x [B, …] and optional y [B, …]. Corresponds to oa::DataLoader::Batch.

Matrix
Option<Matrix>
Source
5 members
3 members
5 members
3 members
0 members

Result of a train / validation / test split. Corresponds to oa::FnDataset::SplitResult.

Vec<i64>
Vec<i64>
Vec<i64>
Source
8 members

Functions

Stack samples into a leading batch dimension using device-side concatenation. Inputs must be nonempty matrices of rank at most three, with any admitted Matrix dtype (U8, F32, I32, or U32). Labels must be present on every sample or absent on every sample. Each component must have equal shapes, dtypes, and one engine owner. A one-sample batch reuses its Matrix storage through zero-copy views. No default Engine or host readback is used. Errors Returns an error for empty input, inconsistent samples, unsupported rank, allocation failure, or GPU recording failure.

Randomly split indices into train, validation, and test subsets. Matches donor FnDataset::randomSplit: clamp train to [0, 1] and validation to [0, 1 - train], truncate their FP32 counts, and assign the remainder to test. The donor header’s claim that the remainder goes to train contradicts its implementation; this port follows the implementation. Errors Returns an error for a negative size, non-finite ratios, allocation failure, or failure to derive a clock seed when seed is zero.

Fisher-Yates shuffle using the donor’s PCG32 stream and unbiased rejection. A nonzero seed reproduces the C++ oa::Random(seed) permutation. Zero uses the system clock. This generator is for sampling, not cryptography. Errors Returns an error when seed zero cannot be derived from the system clock.

Types

1 members

Batched output: x [B, …] and optional y [B, …]. Corresponds to oa::DataLoader::Batch.

Matrix
Option<Matrix>
Source
5 members
3 members
5 members
3 members
0 members

Result of a train / validation / test split. Corresponds to oa::FnDataset::SplitResult.

Vec<i64>
Vec<i64>
Vec<i64>
Source
8 members

oa

Types

16 members

Handle-free lifetime and stable-frame evidence for one captured resource. Resource IDs follow deterministic graph-resource order and never expose a Vulkan handle or bindless descriptor. Alias-candidate state records completed liveness, external-output, and storage-owner qualification; physical storage is not shared until a later materialization stage succeeds transactionally.

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method
Source
3 members

Hardware identity and resource facts captured at engine construction. Vulkan limits and exposed memory capacity can change with driver policy. Budget and usage are snapshots, not immutable hardware properties. Descriptor capacities describe the allocated heap after negotiation.

Source
27 members

Immutable device facts captured for the device owned by one engine. Composes DeviceHardwareInfo (PCI, local memory, limits, queue presence) and DeviceSoftwareInfo (driver/API version, feature booleans).

DeviceHardwareInfo
DeviceSoftwareInfo

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method
Source
3 members

Immutable software facts for the device owned by one engine. These reflect the installed driver: API version, driver version, driver identity, and queried feature support. They may change across driver updates without any hardware change.

Source
7 members
19 members

Sole owner of OA’s local execution services. The current one-device recorder is thread-affine. Engine intentionally remains neither Send nor Sync until concurrent queue scheduling and submission synchronization are implemented and verified.

Source
9 members
8 members
6 members
13 members

Engine-associated executable work captured for repeated submission. The captured executable structure is immutable. Read-only Matrix inputs may be rebound to shape- and dtype-identical storage; changing a binding invalidates the recorded Vulkan command while preserving the graph identity. Unchanged untimed replays share one simultaneously submittable command buffer.

Source
46 members

Immutable snapshot of execution-plan diagnostics.

Source
7 members
11 members
22 members

Engine-borrowing presentation session. Construction creates and owns the SDL3 Vulkan surface, then records whether the Engine’s retained graphics queue can present to that exact surface. Swapchain acquire/present is intentionally the next lifecycle phase rather than a fabricated method on this real surface session.

Create a presentation session for one SDL3 window. The Engine must have been built using EngineRequirements::presentation() and window.required_instance_extensions().

method

Create a presentation session for one SDL3 window. The Engine must have been built using EngineRequirements::presentation() and window.required_instance_extensions().

method
Source
4 members
5 members
10 members
19 members

Canonical semantic graph, deliberately independent of Vulkan objects.

Source
12 members
19 members

One mathematical or domain operation before executable lowering.

Source
7 members
8 members
5 members
20 members

Handle-free description of one logical value.

Source
7 members

Enums

Broad Vulkan physical-device kind reported for diagnostics. Election never assigns a performance rank to this value. Integrated, discrete, virtual, and other hardware all compete using queried features and resource capacities.

Integrated · Discrete · Virtual · Cpu · Other

Policy for selecting the local device owned by an engine.

Automatic · Index(usize)

Severity threshold and record level for OA diagnostics.

Trace = 0 · Debug = 1 · Info = 2 · Warn = 3 · Error = 4 · Fatal = 5 · Off = 6

Logical access mode derived from an operation contract.

Read · Write · ReadWrite

Types

16 members

Handle-free lifetime and stable-frame evidence for one captured resource. Resource IDs follow deterministic graph-resource order and never expose a Vulkan handle or bindless descriptor. Alias-candidate state records completed liveness, external-output, and storage-owner qualification; physical storage is not shared until a later materialization stage succeeds transactionally.

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method

Return whether a semantic input, replay input, or observed output keeps this resource externally live across plan execution.

method
Source
3 members

Hardware identity and resource facts captured at engine construction. Vulkan limits and exposed memory capacity can change with driver policy. Budget and usage are snapshots, not immutable hardware properties. Descriptor capacities describe the allocated heap after negotiation.

Source
27 members

Immutable device facts captured for the device owned by one engine. Composes DeviceHardwareInfo (PCI, local memory, limits, queue presence) and DeviceSoftwareInfo (driver/API version, feature booleans).

DeviceHardwareInfo
DeviceSoftwareInfo

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method

Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.

method
Source
3 members

Immutable software facts for the device owned by one engine. These reflect the installed driver: API version, driver version, driver identity, and queried feature support. They may change across driver updates without any hardware change.

Source
7 members
19 members

Sole owner of OA’s local execution services. The current one-device recorder is thread-affine. Engine intentionally remains neither Send nor Sync until concurrent queue scheduling and submission synchronization are implemented and verified.

Source
9 members
8 members
6 members
13 members

Engine-associated executable work captured for repeated submission. The captured executable structure is immutable. Read-only Matrix inputs may be rebound to shape- and dtype-identical storage; changing a binding invalidates the recorded Vulkan command while preserving the graph identity. Unchanged untimed replays share one simultaneously submittable command buffer.

Source
46 members

Immutable snapshot of execution-plan diagnostics.

Source
7 members
11 members
3 members
4 members

Select the valid swapchain extent for one SDL drawable-pixel extent. None means the window is minimized and callers must defer allocation or acquisition until SDL reports a non-zero drawable extent.

method

Select the valid swapchain extent for one SDL drawable-pixel extent. None means the window is minimized and callers must defer allocation or acquisition until SDL reports a non-zero drawable extent.

method
Source
22 members

Engine-borrowing presentation session. Construction creates and owns the SDL3 Vulkan surface, then records whether the Engine’s retained graphics queue can present to that exact surface. Swapchain acquire/present is intentionally the next lifecycle phase rather than a fabricated method on this real surface session.

Create a presentation session for one SDL3 window. The Engine must have been built using EngineRequirements::presentation() and window.required_instance_extensions().

method

Create a presentation session for one SDL3 window. The Engine must have been built using EngineRequirements::presentation() and window.required_instance_extensions().

method
Source
4 members
5 members
10 members
19 members

Canonical semantic graph, deliberately independent of Vulkan objects.

Source
12 members
19 members

One mathematical or domain operation before executable lowering.

Source
7 members
8 members
5 members
20 members

Handle-free description of one logical value.

Source
7 members

Enums

Broad Vulkan physical-device kind reported for diagnostics. Election never assigns a performance rank to this value. Integrated, discrete, virtual, and other hardware all compete using queried features and resource capacities.

Integrated · Discrete · Virtual · Cpu · Other

Policy for selecting the local device owned by an engine.

Automatic · Index(usize)

Severity threshold and record level for OA diagnostics.

Trace = 0 · Debug = 1 · Info = 2 · Warn = 3 · Error = 4 · Fatal = 5 · Off = 6

Logical access mode derived from an operation contract.

Read · Write · ReadWrite