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: int)¶
The enumerated type nvFatbinResult defines API call result codes. nvFatbin APIs return nvFatbinResult codes to indicate the result.
See
nvFatbinResult.- SUCCESS = <Result.SUCCESS: 0>¶
- ERROR_INTERNAL = <Result.ERROR_INTERNAL: 1>¶
- ERROR_ELF_ARCH_MISMATCH = <Result.ERROR_ELF_ARCH_MISMATCH: 2>¶
- ERROR_ELF_SIZE_MISMATCH = <Result.ERROR_ELF_SIZE_MISMATCH: 3>¶
- ERROR_MISSING_PTX_VERSION = <Result.ERROR_MISSING_PTX_VERSION: 4>¶
- ERROR_NULL_POINTER = <Result.ERROR_NULL_POINTER: 5>¶
- ERROR_COMPRESSION_FAILED = <Result.ERROR_COMPRESSION_FAILED: 6>¶
- ERROR_COMPRESSED_SIZE_EXCEEDED = <Result.ERROR_COMPRESSED_SIZE_EXCEEDED: 7>¶
- ERROR_UNRECOGNIZED_OPTION = <Result.ERROR_UNRECOGNIZED_OPTION: 8>¶
- ERROR_INVALID_ARCH = <Result.ERROR_INVALID_ARCH: 9>¶
- ERROR_INVALID_NVVM = <Result.ERROR_INVALID_NVVM: 10>¶
- ERROR_EMPTY_INPUT = <Result.ERROR_EMPTY_INPUT: 11>¶
- ERROR_MISSING_PTX_ARCH = <Result.ERROR_MISSING_PTX_ARCH: 12>¶
- ERROR_PTX_ARCH_MISMATCH = <Result.ERROR_PTX_ARCH_MISMATCH: 13>¶
- ERROR_MISSING_FATBIN = <Result.ERROR_MISSING_FATBIN: 14>¶
- ERROR_INVALID_INDEX = <Result.ERROR_INVALID_INDEX: 15>¶
- ERROR_IDENTIFIER_REUSE = <Result.ERROR_IDENTIFIER_REUSE: 16>¶
- ERROR_INTERNAL_PTX_OPTION = <Result.ERROR_INTERNAL_PTX_OPTION: 17>¶