#[repr(i32)]pub enum HardwareCompatibilityLevel {
kNONE = 0,
kAMPERE_PLUS = 1,
kSAME_COMPUTE_CAPABILITY = 2,
}Expand description
! ! \enum HardwareCompatibilityLevel ! ! \brief Describes requirements of compatibility with GPU architectures other than that of the GPU on which the engine ! was built. ! ! \warning Note that compatibility with future hardware depends on CUDA forward compatibility support. !
Variants§
kNONE = 0
! Do not require hardware compatibility with GPU architectures other than that of the GPU on which the engine was ! built.
kAMPERE_PLUS = 1
! Require that the engine is compatible with Ampere and newer GPUs. This will limit the combined usage of driver ! reserved and backend kernel max shared memory to 48KiB, may reduce the number of available tactics for each ! layer, and may prevent some fusions from occurring. Thus this can decrease the performance, especially for tf32 ! models. ! This option will disable cuDNN, cuBLAS, and cuBLASLt as tactic sources. ! ! This option is only supported for engines built on NVIDIA Ampere and later GPUs. ! ! The driver reserved shared memory can be queried from cuDeviceGetAttribute(&reservedShmem, ! CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK). !
kSAME_COMPUTE_CAPABILITY = 2
! Require that the engine is compatible with GPUs that have the same Compute Capability ! (https://developer.nvidia.com/cuda-gpus) as the one it was built on. This may decrease the performance compared ! to an engine with no compatibility. ! ! This option will disable cuDNN, cuBLAS, and cuBLASLt as tactic sources. ! ! This option is only supported for engines built on NVIDIA Turing and later GPUs. !
Trait Implementations§
Source§impl Clone for HardwareCompatibilityLevel
impl Clone for HardwareCompatibilityLevel
Source§fn clone(&self) -> HardwareCompatibilityLevel
fn clone(&self) -> HardwareCompatibilityLevel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HardwareCompatibilityLevel
impl Debug for HardwareCompatibilityLevel
Source§impl From<HardwareCompatibilityLevel> for HardwareCompatibilityLevel
impl From<HardwareCompatibilityLevel> for HardwareCompatibilityLevel
Source§fn from(value: HardwareCompatibilityLevel) -> Self
fn from(value: HardwareCompatibilityLevel) -> Self
Source§impl Hash for HardwareCompatibilityLevel
impl Hash for HardwareCompatibilityLevel
Source§impl Into<HardwareCompatibilityLevel> for HardwareCompatibilityLevel
impl Into<HardwareCompatibilityLevel> for HardwareCompatibilityLevel
Source§fn into(self) -> HardwareCompatibilityLevel
fn into(self) -> HardwareCompatibilityLevel
Source§impl Ord for HardwareCompatibilityLevel
impl Ord for HardwareCompatibilityLevel
Source§fn cmp(&self, other: &HardwareCompatibilityLevel) -> Ordering
fn cmp(&self, other: &HardwareCompatibilityLevel) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for HardwareCompatibilityLevel
impl PartialEq for HardwareCompatibilityLevel
Source§fn eq(&self, other: &HardwareCompatibilityLevel) -> bool
fn eq(&self, other: &HardwareCompatibilityLevel) -> bool
self and other values to be equal, and is used by ==.