ort::execution_providers::cuda

Enum CUDAExecutionProviderCuDNNConvAlgoSearch

Source
pub enum CUDAExecutionProviderCuDNNConvAlgoSearch {
    Exhaustive,
    Heuristic,
    Default,
}
Expand description

The type of search done for cuDNN convolution algorithms.

Variants§

§

Exhaustive

Expensive exhaustive benchmarking using cudnnFindConvolutionForwardAlgorithmEx. This function will attempt all possible algorithms for cudnnConvolutionForward to find the fastest algorithm. Exhaustive search trades off between memory usage and speed. The first execution of a graph will be slow while possible convolution algorithms are tested.

§

Heuristic

Lightweight heuristic-based search using cudnnGetConvolutionForwardAlgorithm_v7. Heuristic search sorts available convolution algorithms by expected (based on internal heuristic) relative performance.

§

Default

Uses the default convolution algorithm, CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM. The default algorithm may not have the best performance depending on specific hardware used. It’s recommended to use Exhaustive or Heuristic to search for a faster algorithm instead. However, Default does have its uses, such as when available memory is tight.

NOTE: This name may be confusing as this is not the default search algorithm for the CUDA EP. The default search algorithm is actually Exhaustive.

Trait Implementations§

Source§

impl Clone for CUDAExecutionProviderCuDNNConvAlgoSearch

Source§

fn clone(&self) -> CUDAExecutionProviderCuDNNConvAlgoSearch

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 CUDAExecutionProviderCuDNNConvAlgoSearch

Source§

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

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

impl Default for CUDAExecutionProviderCuDNNConvAlgoSearch

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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

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
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T