CudaRuntime

Struct CudaRuntime 

Source
pub struct CudaRuntime;

Trait Implementations§

Source§

impl Debug for CudaRuntime

Source§

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

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

impl Runtime for CudaRuntime

Source§

type Compiler = CppCompiler<CudaDialect<CudaWmmaCompiler>>

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

type Server = CudaServer

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

type Device = CudaDevice

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 require_array_lengths() -> bool

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

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

Returns the supported line sizes for the current runtime’s compiler.
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 max_global_line_size() -> u8

The maximum line size that can be used for global buffer bindings.
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> 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, 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V