nvjitlink#
Note#
The nvjitlink bindings are not supported on nvJitLink installations <12.3. Ensure the installed CUDA toolkit’s nvJitLink version is >=12.3.
Functions#
NvJitLink defines the following functions for linking code objects and querying the info and error logs.
- cuda.bindings.nvjitlink.create(uint32_t num_options, options) intptr_t #
nvJitLinkCreate creates an instance of nvJitLinkHandle with the given input options, and sets the output parameter
handle
.- Parameters:
num_options (uint32_t) – Number of options passed.
options (object) –
Array of size
num_options
of option strings. It can be:
- Returns:
Address of nvJitLink handle.
- Return type:
intptr_t
See also
- cuda.bindings.nvjitlink.destroy(intptr_t handle)#
nvJitLinkDestroy frees the memory associated with the given handle.
- Parameters:
handle (intptr_t) – nvJitLink handle.
See also
- cuda.bindings.nvjitlink.add_data(intptr_t handle, int input_type, data, size_t size, name)#
nvJitLinkAddData adds data image to the link.
- Parameters:
See also
- cuda.bindings.nvjitlink.add_file(intptr_t handle, int input_type, file_name)#
nvJitLinkAddFile reads data from file and links it in.
- Parameters:
See also
- cuda.bindings.nvjitlink.complete(intptr_t handle)#
nvJitLinkComplete does the actual link.
- Parameters:
handle (intptr_t) – nvJitLink handle.
See also
- cuda.bindings.nvjitlink.get_linked_cubin_size(intptr_t handle) size_t #
nvJitLinkGetLinkedCubinSize gets the size of the linked cubin.
- Parameters:
handle (intptr_t) – nvJitLink handle.
- Returns:
Size of the linked cubin.
- Return type:
size_t
See also
- cuda.bindings.nvjitlink.get_linked_cubin(intptr_t handle, cubin)#
nvJitLinkGetLinkedCubin gets the linked cubin.
- Parameters:
handle (intptr_t) – nvJitLink handle.
cubin (bytes) – The linked cubin.
See also
- cuda.bindings.nvjitlink.get_linked_ptx_size(intptr_t handle) size_t #
nvJitLinkGetLinkedPtxSize gets the size of the linked ptx.
- Parameters:
handle (intptr_t) – nvJitLink handle.
- Returns:
Size of the linked PTX.
- Return type:
size_t
See also
- cuda.bindings.nvjitlink.get_linked_ptx(intptr_t handle, ptx)#
nvJitLinkGetLinkedPtx gets the linked ptx.
- Parameters:
handle (intptr_t) – nvJitLink handle.
ptx (bytes) – The linked PTX.
See also
- cuda.bindings.nvjitlink.get_error_log_size(intptr_t handle) size_t #
nvJitLinkGetErrorLogSize gets the size of the error log.
- Parameters:
handle (intptr_t) – nvJitLink handle.
- Returns:
Size of the error log.
- Return type:
size_t
See also
- cuda.bindings.nvjitlink.get_error_log(intptr_t handle, log)#
nvJitLinkGetErrorLog puts any error messages in the log.
- Parameters:
handle (intptr_t) – nvJitLink handle.
log (bytes) – The error log.
See also
- cuda.bindings.nvjitlink.get_info_log_size(intptr_t handle) size_t #
nvJitLinkGetInfoLogSize gets the size of the info log.
- Parameters:
handle (intptr_t) – nvJitLink handle.
- Returns:
Size of the info log.
- Return type:
size_t
See also
- cuda.bindings.nvjitlink.get_info_log(intptr_t handle, log)#
nvJitLinkGetInfoLog puts any info messages in the log.
- Parameters:
handle (intptr_t) – nvJitLink handle.
log (bytes) – The info log.
See also
Types#
- class cuda.bindings.nvjitlink.Result(
- value,
- names=<not given>,
- *values,
- module=None,
- qualname=None,
- type=None,
- start=1,
- boundary=None,
See
nvJitLinkResult
.- SUCCESS = 0#
- ERROR_UNRECOGNIZED_OPTION = 1#
- ERROR_MISSING_ARCH = 2#
- ERROR_INVALID_INPUT = 3#
- ERROR_PTX_COMPILE = 4#
- ERROR_NVVM_COMPILE = 5#
- ERROR_INTERNAL = 6#
- ERROR_THREADPOOL = 7#
- ERROR_UNRECOGNIZED_INPUT = 8#
- ERROR_FINALIZE = 9#