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:an
int
as the pointer address to the nested sequence, ora Python sequence of
int
s, each of which is a pointer address to a valid sequence of ‘char’, ora nested Python sequence of
str
.
- Returns:
Address of nvJitLink handle.
- Return type:
intptr_t
See also
nvJitLinkCreate
- cuda.bindings.nvjitlink.destroy(intptr_t handle)¶
nvJitLinkDestroy frees the memory associated with the given handle.
- Parameters:
handle (intptr_t) – nvJitLink handle.
See also
nvJitLinkDestroy
- cuda.bindings.nvjitlink.add_data(intptr_t handle, int input_type, data, size_t size, name)¶
nvJitLinkAddData adds data image to the link.
- Parameters:
handle (intptr_t) – nvJitLink handle.
input_type (InputType) – kind of input.
data (bytes) – pointer to data image in memory.
size (size_t) – size of the data.
name (str) – name of input object.
See also
nvJitLinkAddData
- cuda.bindings.nvjitlink.add_file(intptr_t handle, int input_type, file_name)¶
nvJitLinkAddFile reads data from file and links it in.
- Parameters:
handle (intptr_t) – nvJitLink handle.
input_type (InputType) – kind of input.
file_name (str) – name of file.
See also
nvJitLinkAddFile
- cuda.bindings.nvjitlink.complete(intptr_t handle)¶
nvJitLinkComplete does the actual link.
- Parameters:
handle (intptr_t) – nvJitLink handle.
See also
nvJitLinkComplete
- 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
nvJitLinkGetLinkedCubinSize
- 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
nvJitLinkGetLinkedCubin
- 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
nvJitLinkGetLinkedPtxSize
- 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
nvJitLinkGetLinkedPtx
- 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
nvJitLinkGetErrorLogSize
- 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
nvJitLinkGetErrorLog
- 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
nvJitLinkGetInfoLogSize
- 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
nvJitLinkGetInfoLog
- cuda.bindings.nvjitlink.version() tuple ¶
nvJitLinkVersion returns the current version of nvJitLink.
- Returns:
unsigned int: The major version.
unsigned int: The minor version.
- Return type:
A 2-tuple containing
See also
nvJitLinkVersion
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¶