Skip to main content

Module

Struct Module 

Source
pub struct Module { /* private fields */ }
Expand description

A loaded CUDA module containing one or more kernel functions.

Modules are typically created from PTX source via Module::from_ptx or Module::from_ptx_with_options. Individual kernel functions are retrieved by name with Module::get_function.

The module is unloaded when this struct is dropped.

Implementations§

Source§

impl Module

Source

pub fn from_ptx(ptx: &str) -> CudaResult<Self>

Loads a module from PTX source with default JIT options.

The PTX string is automatically null-terminated before being passed to the driver.

§Errors

Returns CudaError::InvalidImage if the PTX is malformed, or another CudaError if the driver call fails (e.g. no current context).

Source

pub fn from_ptx_with_options( ptx: &str, options: &JitOptions, ) -> CudaResult<(Self, JitLog)>

Loads a module from PTX source with explicit JIT compiler options.

Returns the loaded module together with a JitLog containing any informational or error messages from the JIT compiler.

§Errors

Returns a CudaError if JIT compilation fails or the driver call otherwise errors.

Source

pub fn get_function(&self, name: &str) -> CudaResult<Function>

Retrieves a kernel function by name from this module.

The returned Function is a lightweight handle. The caller must ensure that this Module outlives any Function handles obtained from it.

§Errors

Returns CudaError::NotFound if no function with the given name exists in the module, or another CudaError on driver failure.

Source

pub fn raw(&self) -> CUmodule

Returns the raw CUmodule handle.

§Safety (caller)

The caller must not unload or otherwise invalidate the handle while this Module is still alive.

Trait Implementations§

Source§

impl Drop for Module

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for Module

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more