WgpuRuntime

Struct WgpuRuntime 

Source
pub struct WgpuRuntime;
Expand description

Runtime that uses the wgpu crate with the wgsl compiler. This is used in the Wgpu backend. For advanced configuration, use init_setup to pass in runtime options or to select a specific graphics API.

Trait Implementations§

Source§

impl Debug for WgpuRuntime

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Runtime for WgpuRuntime

Source§

type Compiler = AutoCompiler

The compiler used to compile the inner representation into tokens.
Source§

type Server = WgpuServer

The compute server used to run kernels and perform autotuning.
Source§

type Device = WgpuDevice

The device used to retrieve the compute client.
Source§

fn client( device: &<WgpuRuntime as Runtime>::Device, ) -> ComputeClient<<WgpuRuntime as Runtime>::Server>

Retrieve the compute client from the runtime device.
Source§

fn name( client: &ComputeClient<<WgpuRuntime as Runtime>::Server>, ) -> &'static str

The runtime name on the given device.
Source§

fn supported_line_sizes() -> &'static [u8]

Returns the supported line sizes for the current runtime’s compiler.
Source§

fn max_global_line_size() -> u8

The maximum line size that can be used for global buffer bindings.
Source§

fn max_cube_count() -> (u32, u32, u32)

Returns the maximum cube count on each dimension that can be launched.
Source§

fn can_read_tensor(shape: &[usize], strides: &[usize]) -> bool

Source§

fn target_properties() -> TargetProperties

Returns the properties of the target hardware architecture.
Source§

fn require_array_lengths() -> bool

Return true if global input array lengths should be added to kernel info.
Source§

fn io_optimized_line_sizes( elem: &StorageType, ) -> impl Iterator<Item = u8> + Clone

Returns all line sizes that are useful to perform optimal IO operation on the given element.
Source§

fn io_optimized_line_sizes_unchecked( size: usize, ) -> impl Iterator<Item = u8> + Clone

Returns all line sizes that are useful to perform optimal IO operation on the given element. Ignores native support, and allows all line sizes. This means the returned size may be unrolled, and may not support dynamic indexing.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<R> CubeRuntime for R
where R: Runtime, <R as Runtime>::Device: DeviceOps,

Source§

type CubeDevice = <R as Runtime>::Device

The device that should also implement burn_tensor::backend::DeviceOps.
Source§

type CubeServer = <R as Runtime>::Server

The cube server with the CubeAutotuneKey.
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,