Struct CUjit_option_enum

Source
#[repr(transparent)]
pub struct CUjit_option_enum(pub c_uint);
Expand description

Online compiler and linker options

Tuple Fields§

§0: c_uint

Implementations§

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_MAX_REGISTERS: CUjit_option_enum

Max number of registers that a thread may use.\n Option type: unsigned int\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_THREADS_PER_BLOCK: CUjit_option_enum

IN: Specifies minimum number of threads per block to target compilation for\n OUT: Returns the number of threads the compiler actually targeted. This restricts the resource utilization of the compiler (e.g. max registers) such that a block with the given number of threads should be able to launch based on register limitations. Note, this option does not currently take into account any other resource limitations, such as shared memory utilization.\n Cannot be combined with ::CU_JIT_TARGET.\n Option type: unsigned int\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_WALL_TIME: CUjit_option_enum

Overwrites the option value with the total wall clock time, in milliseconds, spent in the compiler and linker\n Option type: float\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_INFO_LOG_BUFFER: CUjit_option_enum

Pointer to a buffer in which to print any log messages that are informational in nature (the buffer size is specified via option ::CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES)\n Option type: char *\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES: CUjit_option_enum

IN: Log buffer size in bytes. Log messages will be capped at this size (including null terminator)\n OUT: Amount of log buffer filled with messages\n Option type: unsigned int\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_ERROR_LOG_BUFFER: CUjit_option_enum

Pointer to a buffer in which to print any log messages that reflect errors (the buffer size is specified via option ::CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES)\n Option type: char *\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES: CUjit_option_enum

IN: Log buffer size in bytes. Log messages will be capped at this size (including null terminator)\n OUT: Amount of log buffer filled with messages\n Option type: unsigned int\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_OPTIMIZATION_LEVEL: CUjit_option_enum

Level of optimizations to apply to generated code (0 - 4), with 4 being the default and highest level of optimizations.\n Option type: unsigned int\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_TARGET_FROM_CUCONTEXT: CUjit_option_enum

No option value required. Determines the target based on the current attached context (default)\n Option type: No option value needed\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_TARGET: CUjit_option_enum

Target is chosen based on supplied ::CUjit_target. Cannot be combined with ::CU_JIT_THREADS_PER_BLOCK.\n Option type: unsigned int for enumerated type ::CUjit_target\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_FALLBACK_STRATEGY: CUjit_option_enum

Specifies choice of fallback strategy if matching cubin is not found. Choice is based on supplied ::CUjit_fallback. This option cannot be used with cuLink* APIs as the linker requires exact matches.\n Option type: unsigned int for enumerated type ::CUjit_fallback\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_GENERATE_DEBUG_INFO: CUjit_option_enum

Specifies whether to create debug information in output (-g) (0: false, default)\n Option type: int\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_LOG_VERBOSE: CUjit_option_enum

Generate verbose log messages (0: false, default)\n Option type: int\n Applies to: compiler and linker

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_GENERATE_LINE_INFO: CUjit_option_enum

Generate line number information (-lineinfo) (0: false, default)\n Option type: int\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_CACHE_MODE: CUjit_option_enum

Specifies whether to enable caching explicitly (-dlcm) \n Choice is based on supplied ::CUjit_cacheMode_enum.\n Option type: unsigned int for enumerated type ::CUjit_cacheMode_enum\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_NEW_SM3X_OPT: CUjit_option_enum

\deprecated This jit option is deprecated and should not be used.

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_FAST_COMPILE: CUjit_option_enum

This jit option is used for internal purpose only.

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_GLOBAL_SYMBOL_NAMES: CUjit_option_enum

Array of device symbol names that will be relocated to the corresponding host addresses stored in ::CU_JIT_GLOBAL_SYMBOL_ADDRESSES.\n Must contain ::CU_JIT_GLOBAL_SYMBOL_COUNT entries.\n When loading a device module, driver will relocate all encountered unresolved symbols to the host addresses.\n It is only allowed to register symbols that correspond to unresolved global variables.\n It is illegal to register the same device symbol at multiple addresses.\n Option type: const char **\n Applies to: dynamic linker only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_GLOBAL_SYMBOL_ADDRESSES: CUjit_option_enum

Array of host addresses that will be used to relocate corresponding device symbols stored in ::CU_JIT_GLOBAL_SYMBOL_NAMES.\n Must contain ::CU_JIT_GLOBAL_SYMBOL_COUNT entries.\n Option type: void **\n Applies to: dynamic linker only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_GLOBAL_SYMBOL_COUNT: CUjit_option_enum

Number of entries in ::CU_JIT_GLOBAL_SYMBOL_NAMES and ::CU_JIT_GLOBAL_SYMBOL_ADDRESSES arrays.\n Option type: unsigned int\n Applies to: dynamic linker only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_LTO: CUjit_option_enum

\deprecated Enable link-time optimization (-dlto) for device code (Disabled by default).\n This option is not supported on 32-bit platforms.\n Option type: int\n Applies to: compiler and linker

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_FTZ: CUjit_option_enum

\deprecated Control single-precision denormals (-ftz) support (0: false, default). 1 : flushes denormal values to zero 0 : preserves denormal values Option type: int\n Applies to: link-time optimization specified with CU_JIT_LTO

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_PREC_DIV: CUjit_option_enum

\deprecated Control single-precision floating-point division and reciprocals (-prec-div) support (1: true, default). 1 : Enables the IEEE round-to-nearest mode 0 : Enables the fast approximation mode Option type: int\n Applies to: link-time optimization specified with CU_JIT_LTO

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_PREC_SQRT: CUjit_option_enum

\deprecated Control single-precision floating-point square root (-prec-sqrt) support (1: true, default). 1 : Enables the IEEE round-to-nearest mode 0 : Enables the fast approximation mode Option type: int\n Applies to: link-time optimization specified with CU_JIT_LTO

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_FMA: CUjit_option_enum

\deprecated Enable/Disable the contraction of floating-point multiplies and adds/subtracts into floating-point multiply-add (-fma) operations (1: Enable, default; 0: Disable). Option type: int\n Applies to: link-time optimization specified with CU_JIT_LTO

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_REFERENCED_KERNEL_NAMES: CUjit_option_enum

\deprecated Array of kernel names that should be preserved at link time while others can be removed.\n Must contain ::CU_JIT_REFERENCED_KERNEL_COUNT entries.\n Note that kernel names can be mangled by the compiler in which case the mangled name needs to be specified.\n Wildcard “” can be used to represent zero or more characters instead of specifying the full or mangled name.\n It is important to note that the wildcard “” is also added implicitly. For example, specifying “foo” will match “foobaz”, “barfoo”, “barfoobaz” and thus preserve all kernels with those names. This can be avoided by providing a more specific name like “barfoobaz”.\n Option type: const char **\n Applies to: dynamic linker only

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_REFERENCED_KERNEL_COUNT: CUjit_option_enum

\deprecated Number of entries in ::CU_JIT_REFERENCED_KERNEL_NAMES array.\n Option type: unsigned int\n Applies to: dynamic linker only

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_REFERENCED_VARIABLE_NAMES: CUjit_option_enum

\deprecated Array of variable names (device and/or constant) that should be preserved at link time while others can be removed.\n Must contain ::CU_JIT_REFERENCED_VARIABLE_COUNT entries.\n Note that variable names can be mangled by the compiler in which case the mangled name needs to be specified.\n Wildcard “” can be used to represent zero or more characters instead of specifying the full or mangled name.\n It is important to note that the wildcard “” is also added implicitly. For example, specifying “foo” will match “foobaz”, “barfoo”, “barfoobaz” and thus preserve all variables with those names. This can be avoided by providing a more specific name like “barfoobaz”.\n Option type: const char **\n Applies to: link-time optimization specified with CU_JIT_LTO

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_REFERENCED_VARIABLE_COUNT: CUjit_option_enum

\deprecated Number of entries in ::CU_JIT_REFERENCED_VARIABLE_NAMES array.\n Option type: unsigned int\n Applies to: link-time optimization specified with CU_JIT_LTO

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES: CUjit_option_enum

\deprecated This option serves as a hint to enable the JIT compiler/linker to remove constant (constant) and device (device) variables unreferenced in device code (Disabled by default).\n Note that host references to constant and device variables using APIs like ::cuModuleGetGlobal() with this option specified may result in undefined behavior unless the variables are explicitly specified using ::CU_JIT_REFERENCED_VARIABLE_NAMES.\n Option type: int\n Applies to: link-time optimization specified with CU_JIT_LTO

Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_POSITION_INDEPENDENT_CODE: CUjit_option_enum

Generate position independent code (0: false)\n Option type: int\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_MIN_CTA_PER_SM: CUjit_option_enum

This option hints to the JIT compiler the minimum number of CTAs from the kernel’s grid to be mapped to a SM. This option is ignored when used together with ::CU_JIT_MAX_REGISTERS or ::CU_JIT_THREADS_PER_BLOCK. Optimizations based on this option need ::CU_JIT_MAX_THREADS_PER_BLOCK to be specified as well. For kernels already using PTX directive .minnctapersm, this option will be ignored by default. Use ::CU_JIT_OVERRIDE_DIRECTIVE_VALUES to let this option take precedence over the PTX directive. Option type: unsigned int\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_MAX_THREADS_PER_BLOCK: CUjit_option_enum

Maximum number threads in a thread block, computed as the product of the maximum extent specifed for each dimension of the block. This limit is guaranteed not to be exeeded in any invocation of the kernel. Exceeding the the maximum number of threads results in runtime error or kernel launch failure. For kernels already using PTX directive .maxntid, this option will be ignored by default. Use ::CU_JIT_OVERRIDE_DIRECTIVE_VALUES to let this option take precedence over the PTX directive. Option type: int\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_OVERRIDE_DIRECTIVE_VALUES: CUjit_option_enum

This option lets the values specified using ::CU_JIT_MAX_REGISTERS, ::CU_JIT_THREADS_PER_BLOCK, ::CU_JIT_MAX_THREADS_PER_BLOCK and ::CU_JIT_MIN_CTA_PER_SM take precedence over any PTX directives. (0: Disable, default; 1: Enable) Option type: int\n Applies to: compiler only

Source§

impl CUjit_option_enum

Source

pub const CU_JIT_NUM_OPTIONS: CUjit_option_enum

This option lets the values specified using ::CU_JIT_MAX_REGISTERS, ::CU_JIT_THREADS_PER_BLOCK, ::CU_JIT_MAX_THREADS_PER_BLOCK and ::CU_JIT_MIN_CTA_PER_SM take precedence over any PTX directives. (0: Disable, default; 1: Enable) Option type: int\n Applies to: compiler only

Trait Implementations§

Source§

impl Clone for CUjit_option_enum

Source§

fn clone(&self) -> CUjit_option_enum

Returns a duplicate 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 CUjit_option_enum

Source§

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

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

impl Hash for CUjit_option_enum

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for CUjit_option_enum

Source§

fn eq(&self, other: &CUjit_option_enum) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for CUjit_option_enum

Source§

impl Eq for CUjit_option_enum

Source§

impl StructuralPartialEq for CUjit_option_enum

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, dest: *mut u8)

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

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.