Struct coaster::frameworks::cuda::Cuda

source ·
pub struct Cuda { /* private fields */ }
Expand description

Provides the Cuda Framework.

Implementations§

source§

impl Cuda

source

pub fn initialise_cublas(&mut self) -> Result<(), Error>

Create a handle to CUBLAS and assign it to CUDA Object

Creating a handle when the CUDA object is created initially will cause CUDA_ERROR_LAUNCH_FAILED when an attempt is made to use the pointer. This can also affect global initialisation of the pointer, and so the initialise must run after the CUDA Driver is fully initialised, or (theoretically) a call is done to CUDA Free or DeviceSynchronise.

source

pub fn initialise_cudnn(&mut self) -> Result<(), Error>

Create a handle to CUDNN and assign it to CUDA Object

source

pub fn cudnn(&self) -> &Cudnn

Return a reference to the CUDNN Handle

source

pub fn cublas(&self) -> &Context

Return a reference to the CUBLAS Handle

Trait Implementations§

source§

impl Clone for Cuda

source§

fn clone(&self) -> Cuda

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Cuda

source§

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

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

impl IFramework for Cuda

source§

fn new_device(&self, hardwares: &[Device]) -> Result<Self::D, Error>

Creates a new Cuda context for computation.

Cuda’s context differs from OpenCL’s context. Multi device support works different in Cuda. This function currently suppports only one device, but should be a wrapper for multi device support.

§

type H = Device

The Hardware representation for this Framework.
§

type D = Context

The Device representation for this Framework.
§

type B = Module

The Binary representation for this Framework.
source§

fn ID() -> &'static str

Defines the Framework by a Name. Read more
source§

fn new() -> Cuda

Initializes a new Framework. Read more
source§

fn load_hardwares() -> Result<Vec<Device>, Error>

Initializes all the available hardwares.
source§

fn hardwares(&self) -> &[Device]

Returns the cached and available hardwares.
source§

fn binary(&self) -> &Self::B

Returns the initialized binary.

Auto Trait Implementations§

§

impl RefUnwindSafe for Cuda

§

impl !Send for Cuda

§

impl !Sync for Cuda

§

impl Unpin for Cuda

§

impl UnwindSafe for Cuda

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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>,

§

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.