vyre-libs
Category A composition ecosystem over vyre's hardware-intrinsic
primitives. Every function here returns a vyre::Program (or a
list of vyre::ir::Node a consumer can embed in a larger Program)
built entirely from existing vyre-ops primitives. No shader source,
no new inventory::submit!, no backend-specific code.
Modules
vyre_libs::math: linear algebra, scans, broadcastsvyre_libs::nn: neural-net primitives (linear, ReLU, softmax, layer_norm, attention)vyre_libs::matching: string scanning (substring, DFA, multi-string): one building block inside arbitrary programsvyre_libs::crypto: hashing (FNV-1a, BLAKE3, SHA-256, CRC32)
Design
Every public function wraps its IR body in a Node::Region with a
stable generator name. The optimizer treats Regions as opaque by
default (preserves source-mapping + debuggability); explicit inline
passes can unroll. This is LLVM's function-vs-always-inline split at
IR level.
One crate with four public modules today; each module promotes to
its own crates.io identity (vyre-nn, vyre-math, vyre-scan,
vyre-crypto) when its consumer base justifies the fragmentation.
Usage
use VyreBackend;
use acquire_preferred_dispatch_backend;
use dot;
let program = dot;
let backend = acquire_preferred_dispatch_backend?;
let result = backend.dispatch?;
Feature flags
[]
= { = "0.1", = false, = ["nn"] }
math(default): linear algebrann(default, impliesmath): neural-net primitivesmatching(default): string scanning primitivescrypto(default): hashing
License
MIT OR Apache-2.0