Skip to main content

ruda_tensor_device/
runtime.rs

1use ruda::runtime::{backend::Runtime, compiler::RudaTask};
2use ruda_tensor::DeviceOps;
3
4/// Device runtime implementing the tensor backend device contract.
5pub trait DeviceRuntime: Runtime<Device = Self::RudaDevice, Server = Self::RudaServer> {
6    /// The device that should also implement [ruda_tensor::backend::DeviceOps].
7    type RudaDevice: ruda_tensor::DeviceOps;
8    /// The server accepting compiled Kernel tasks.
9    type RudaServer: ruda::runtime::server::ComputeServer<Kernel = Box<dyn RudaTask<Self::Compiler>>>;
10}
11
12
13impl<R: Runtime> DeviceRuntime for R
14where
15    R::Device: DeviceOps,
16{
17    type RudaDevice = R::Device;
18    type RudaServer = R::Server;
19}