[−][src]Struct accel::linker::JITConfig
Configure generator for CUjit_option required in cuLink*
APIs
Fields
max_registers: Option<u32>
CU_JIT_MAX_REGISTERS, Applies to compiler only
- Max number of registers that a thread may use.
threads_per_block: Option<u32>
CU_JIT_THREADS_PER_BLOCK, Applies to compiler only
- IN: Specifies minimum number of threads per block to target compilation for
- OUT: Returns the number of threads the compiler actually targeted. This restricts the resource utilization fo 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. Cannot be combined with CU_JIT_TARGET.
wall_time: Option<f32>
CU_JIT_WALL_TIME, Applies to compiler and linker
- Overwrites the option value with the total wall clock time, in milliseconds, spent in the compiler and linker
- Option type: float
info_log_buffer: Option<LogBuffer>
CU_JIT_INFO_LOG_BUFFER, Applies to compiler and linker
- 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)
CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES, Applies to compiler and linker
- IN: Log buffer size in bytes. Log messages will be capped at this size (including null terminator)
- OUT: Amount of log buffer filled with messages
error_log_buffer: Option<LogBuffer>
CU_JIT_ERROR_LOG_BUFFER, Applies to compiler and linker
- 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)
CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES, Applies to compiler and linker
- IN: Log buffer size in bytes. Log messages will be capped at this size (including null terminator)
- OUT: Amount of log buffer filled with messages
optimization_level: Option<u32>
CU_JIT_OPTIMIZATION_LEVEL, Applies to compiler only
- Level of optimizations to apply to generated code (0 - 4), with 4 being the default and highest level of optimizations.
target_from_cucontext: Option<()>
CU_JIT_TARGET_FROM_CUCONTEXT, Applies to compiler and linker
- No option value required. Determines the target based on the current attached context (default)
target: Option<CUjit_target>
CU_JIT_TARGET, Applies to compiler and linker
- Target is chosen based on supplied CUjit_target. Cannot be combined with CU_JIT_THREADS_PER_BLOCK.
fallback_strategy: Option<CUjit_fallback>
CU_JIT_FALLBACK_STRATEGY, Applies to compiler only
- 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.
generate_debug_info: Option<i32>
CU_JIT_GENERATE_DEBUG_INFO, Applies to compiler and linker
- Specifies whether to create debug information in output (-g) (0: false, default)
log_verbose: Option<i32>
CU_JIT_LOG_VERBOSE, Applies to compiler and linker
- Generate verbose log messages (0: false, default)
generate_line_info: Option<i32>
CU_JIT_GENERATE_LINE_INFO, Applies to compiler only
- Generate line number information (-lineinfo) (0: false, default)
cache_mode: Option<CUjit_cacheMode_enum>
CU_JIT_CACHE_MODE, Applies to compiler only
- Specifies whether to enable caching explicitly (-dlcm) Choice is based on supplied CUjit_cacheMode_enum.
new_sm3x_opt: Option<u32>
CU_JIT_NEW_SM3X_OPT
- The below jit options are used for internal purposes only, in this version of CUDA
fast_compile: bool
CU_JIT_FAST_COMPILE
global_symbol: HashMap<CString, *mut c_void>
CU_JIT_GLOBAL_SYMBOL_NAMES, Applies to dynamic linker only
- Array of device symbol names that will be relocated to the corresponing host addresses stored in CU_JIT_GLOBAL_SYMBOL_ADDRESSES. Must contain CU_JIT_GLOBAL_SYMBOL_COUNT entries. When loding a device module, driver will relocate all encountered unresolved symbols to the host addresses. It is only allowed to register symbols that correspond to unresolved global variables. It is illegal to register the same device symbol at multiple addresses.
CU_JIT_GLOBAL_SYMBOL_ADDRESSES, Applies to dynamic linker only
- Array of host addresses that will be used to relocate corresponding device symbols stored in CU_JIT_GLOBAL_SYMBOL_NAMES. Must contain CU_JIT_GLOBAL_SYMBOL_COUNT entries.
CU_JIT_GLOBAL_SYMBOL_COUNT, Applies to dynamic linker only
- Number of entries in CU_JIT_GLOBAL_SYMBOL_NAMES and CU_JIT_GLOBAL_SYMBOL_ADDRESSES arrays.
Methods
impl JITConfig
[src]
fn pack(&mut self) -> (u32, Vec<CUjit_option>, Vec<*mut c_void>)
[src]
Pack configure into C API compatible format
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for JITConfig
impl !Send for JITConfig
impl !Sync for JITConfig
impl Unpin for JITConfig
impl UnwindSafe for JITConfig
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,