nvfatbin#
Note#
The nvfatbin bindings are not supported on nvFatbin installations <12.4. Ensure the installed CUDA toolkit’s nvFatbin version is >=12.4.
The Tile IR API (cuda.bindings.nvfatbin.add_tile_ir()) is only available in CUDA 13.1+.
Functions#
NvFatbin defines the following functions for creating and populating fatbinaries.
- cuda.bindings.nvfatbin.create(options, size_t options_count) intptr_t#
nvFatbinCreate creates a new handle.
- Parameters:
options (object) –
An array of strings, each containing a single option. It can be:
options_count (size_t) – Number of options.
- Returns:
Address of nvFatbin handle.
- Return type:
intptr_t
See also
nvFatbinCreate
- cuda.bindings.nvfatbin.destroy(intptr_t handle)#
nvFatbinDestroy frees the memory associated with the given handle.
- Parameters:
handle (intptr_t) – nvFatbin handle.
See also
nvFatbinDestroy
- cuda.bindings.nvfatbin.add_ptx(
- intptr_t handle,
- code,
- size_t size,
- arch,
- identifier,
- options_cmd_line,
nvFatbinAddPTX adds PTX to the fatbinary.
- Parameters:
handle (intptr_t) – nvFatbin handle.
code (bytes) – The PTX code.
size (size_t) – The size of the PTX code.
arch (str) – The numerical architecture that this PTX is for (the XX of any sm_XX, lto_XX, or compute_XX).
identifier (str) – Name of the PTX, useful when extracting the fatbin with tools like cuobjdump.
options_cmd_line (str) – Options used during JIT compilation.
See also
nvFatbinAddPTX
- cuda.bindings.nvfatbin.add_cubin(intptr_t handle, code, size_t size, arch, identifier)#
nvFatbinAddCubin adds a CUDA binary to the fatbinary.
- Parameters:
handle (intptr_t) – nvFatbin handle.
code (bytes) – The cubin.
size (size_t) – The size of the cubin.
arch (str) – The numerical architecture that this cubin is for (the XX of any sm_XX, lto_XX, or compute_XX).
identifier (str) – Name of the cubin, useful when extracting the fatbin with tools like cuobjdump.
See also
nvFatbinAddCubin
- cuda.bindings.nvfatbin.add_ltoir(
- intptr_t handle,
- code,
- size_t size,
- arch,
- identifier,
- options_cmd_line,
nvFatbinAddLTOIR adds LTOIR to the fatbinary.
- Parameters:
handle (intptr_t) – nvFatbin handle.
code (bytes) – The LTOIR code.
size (size_t) – The size of the LTOIR code.
arch (str) – The numerical architecture that this LTOIR is for (the XX of any sm_XX, lto_XX, or compute_XX).
identifier (str) – Name of the LTOIR, useful when extracting the fatbin with tools like cuobjdump.
options_cmd_line (str) – Options used during JIT compilation.
See also
nvFatbinAddLTOIR
- cuda.bindings.nvfatbin.add_reloc(intptr_t handle, code, size_t size)#
nvFatbinAddReloc adds relocatable PTX entries from a host object to the fatbinary.
- Parameters:
handle (intptr_t) – nvFatbin handle.
code (bytes) – The host object image.
size (size_t) – The size of the host object image code.
See also
nvFatbinAddReloc
- cuda.bindings.nvfatbin.add_tile_ir(
- intptr_t handle,
- code,
- size_t size,
- identifier,
- options_cmd_line,
nvFatbinAddTileIR adds Tile IR to the fatbinary.
- Parameters:
See also
nvFatbinAddTileIR
- cuda.bindings.nvfatbin.size(intptr_t handle) size_t#
nvFatbinSize returns the fatbinary’s size.
- Parameters:
handle (intptr_t) – nvFatbin handle.
- Returns:
The fatbinary’s size.
- Return type:
size_t
See also
nvFatbinSize
- cuda.bindings.nvfatbin.get(intptr_t handle, buffer)#
nvFatbinGet returns the completed fatbinary.
- Parameters:
handle (intptr_t) – nvFatbin handle.
buffer (bytes) – memory to store fatbinary.
See also
nvFatbinGet
Types#
- class cuda.bindings.nvfatbin.Result(
- value,
- names=<not given>,
- *values,
- module=None,
- qualname=None,
- type=None,
- start=1,
- boundary=None,
See
nvFatbinResult.- SUCCESS = 0#
- ERROR_INTERNAL = 1#
- ERROR_ELF_ARCH_MISMATCH = 2#
- ERROR_ELF_SIZE_MISMATCH = 3#
- ERROR_MISSING_PTX_VERSION = 4#
- ERROR_NULL_POINTER = 5#
- ERROR_COMPRESSION_FAILED = 6#
- ERROR_COMPRESSED_SIZE_EXCEEDED = 7#
- ERROR_UNRECOGNIZED_OPTION = 8#
- ERROR_INVALID_ARCH = 9#
- ERROR_INVALID_NVVM = 10#
- ERROR_EMPTY_INPUT = 11#
- ERROR_MISSING_PTX_ARCH = 12#
- ERROR_PTX_ARCH_MISMATCH = 13#
- ERROR_MISSING_FATBIN = 14#
- ERROR_INVALID_INDEX = 15#
- ERROR_IDENTIFIER_REUSE = 16#
- ERROR_INTERNAL_PTX_OPTION = 17#