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
//! Burn's intermediate representation of tensors and tensor operations.
//!
//! Every backend operation has a serializable description here: [`OperationIr`] and its
//! per-kind enums ([`FloatOperationIr`], [`IntOperationIr`], [`BaseOperationIr`], ...) name
//! the operation and the [`TensorIr`]s it reads and writes. [`GraphIr`] groups operations
//! with explicit inputs and outputs, and [`CustomOpIr`] carries operations defined by backend
//! extensions.
//!
//! Describing work as data rather than calls lets it be inspected, optimized and moved before
//! it runs. Kernel fusion (`burn-fusion`), remote execution (`burn-remote`, through
//! `burn-router`) and graph capture (`burn-capture`) are built on it. A backend that
//! implements [`BackendIr`] can execute operations received in this form.
//!
//! Applications do not use this crate directly.
//!
//! # Feature flags
//!
//! - `std` (default): standard library support. Without it the crate is `no_std` with `alloc`.
//! - `tracing`: instrument operations with the `tracing` crate.
extern crate alloc;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;