1#![warn(missing_docs)]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3
4#[macro_use]
7extern crate derive_new;
8extern crate alloc;
9
10pub mod ops;
12
13pub mod kernel;
15pub mod tensor;
17
18pub mod element;
20
21use cubecl::{CubeTask, Runtime};
22pub use element::{BoolElement, CubeElement, FloatElement, IntElement};
23
24mod backend;
25
26pub use backend::*;
27
28pub use cubecl;
30
31mod tune_key;
32pub use tune_key::CubeAutotuneKey;
33
34#[cfg(any(feature = "fusion", test))]
35pub mod fusion;
37
38#[cfg(feature = "template")]
39pub mod template;
41
42pub trait CubeRuntime: Runtime<Device = Self::CubeDevice, Server = Self::CubeServer> {
44 type CubeDevice: burn_backend::DeviceOps;
46 type CubeServer: cubecl::server::ComputeServer<Kernel = Box<dyn CubeTask<Self::Compiler>>>;
48}
49
50pub use cubecl::CubeTuneId;