Trait cubecl_core::prelude::Runtime
source · pub trait Runtime:
Send
+ Sync
+ 'static
+ Debug {
type Compiler: Compiler;
type Server: ComputeServer<Kernel = Box<dyn CubeTask>, DispatchOptions = CubeCount<Self::Server>, FeatureSet = FeatureSet>;
type Channel: ComputeChannel<Self::Server>;
type Device;
// Required methods
fn client(
device: &Self::Device,
) -> ComputeClient<Self::Server, Self::Channel>;
fn name() -> &'static str;
// Provided method
fn require_array_lengths() -> bool { ... }
}
Expand description
Runtime for the CubeCL.
Required Associated Types§
sourcetype Server: ComputeServer<Kernel = Box<dyn CubeTask>, DispatchOptions = CubeCount<Self::Server>, FeatureSet = FeatureSet>
type Server: ComputeServer<Kernel = Box<dyn CubeTask>, DispatchOptions = CubeCount<Self::Server>, FeatureSet = FeatureSet>
The compute server used to run kernels and perform autotuning.
sourcetype Channel: ComputeChannel<Self::Server>
type Channel: ComputeChannel<Self::Server>
The channel used to communicate with the compute server.
Required Methods§
Provided Methods§
sourcefn require_array_lengths() -> bool
fn require_array_lengths() -> bool
Return true if global input array lengths should be added to kernel info.
Object Safety§
This trait is not object safe.