cubecl_common/lib.rs
1#![cfg_attr(not(feature = "std"), no_std)]
2#![warn(missing_docs)]
3
4//! # CubeCL Common Library
5//!
6//! This library contains common types used by other crates that must be shared.
7
8#[macro_use]
9extern crate derive_new;
10
11/// Rand module contains types for random number generation for non-std environments and for
12/// std environments.
13pub mod rand;
14
15/// Stub module contains types for stubs for non-std environments and for std environments.
16pub mod stub;
17
18/// Cache module for an efficient in-memory and persistent database.
19#[cfg(feature = "cache")]
20pub mod cache;
21
22#[cfg(feature = "cache")]
23pub(crate) mod cache_file;
24
25/// Module for benchmarking any executable part
26pub mod benchmark;
27
28/// Useful when you need to read async data without having to decorate each function with async
29/// notation.
30pub mod reader;
31
32/// Future utils with a compatible API for native, non-std and wasm environments.
33pub mod future;
34
35extern crate alloc;
36
37/// Custom float implementations
38mod float;
39/// Common kernel types
40mod kernel;
41
42pub use float::*;
43pub use kernel::*;