1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// SPDX-License-Identifier: MIT OR Apache-2.0
//! Backend-contract traits for the fuel ML framework.
//!
//! This crate holds the object-safe trait surface that **every backend
//! implements** — the contract Fuel dispatches through without naming
//! concrete backend types. It sits **above [`fuel_ir`]** (the vocabulary
//! crate it borrows `DType`/`Shape`/`Layout`/`HostBuffer`/the capability
//! data-types from) and **below the backend crates** (`fuel-cpu-backend`,
//! `fuel-cuda-backend`, `fuel-vulkan-backend`, `fuel-metal-backend`, …),
//! which depend on it to implement the traits.
//!
//! ## What lives here
//!
//! - [`dyn_backend`] — [`DynBackendStorage`] / [`DynBackendDevice`], the
//! object-safe storage + device traits at the heart of dispatch.
//! - [`backend`] — the capability/runtime traits [`HostStorage`],
//! [`BackendStorage`], [`BackendCapabilityProvider`], [`BackendRuntime`],
//! and the Tier-2 [`BackendStreams`] live-load extension.
//! (Their *data* types — `SubstrateClass`, `TransferPath`,
//! `BackendCapabilities`, `FitStatus` — stay in [`fuel_ir::backend`].)
//! - [`quantized`] — [`DynQuantizedStorage`] / [`QuantizedDeviceKernels`].
//! (The `GgmlDType` *data* tag stays in [`fuel_ir::quantized`].)
//! - [`inplace_op`] — [`InplaceOp1`] / [`InplaceOp2`] / [`InplaceOp3`].
//! - [`storage`] — [`Storage`], the type-erased `Box<dyn DynBackendStorage>`
//! handle that carries a backend's storage, plus `allocate_bundled_storage`.
//! (The bundle *data* — `OutputView`, `OutputViewSpec`, `compose_bundle` —
//! stays in [`fuel_ir::storage`].)
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;