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

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: &Self::Device) -> ComputeClient<Self::Server>

Retrieve the compute client from the runtime device.
Source§

fn name(client: &ComputeClient<Self::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<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, 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,