cuda.nvrtc#

Attributes:
HIP_PYTHON (bool):

True.

hip_python_mod (module):

A reference to the module hip.hiprtc.

hiprtc (module):

A reference to the module hip.hiprtc.

HIP_PYTHON_nvrtcResult_HALLUCINATE:

Make nvrtcResult hallucinate values for non-existing enum constants. Disabled by default if default is not modified via environment variable.

Default value can be set/unset via environment variable HIP_PYTHON_nvrtcResult_HALLUCINATE.

  • Environment variable values that result in True are: yes, 1, y, true

  • Those that result in False are: no, 0, n, false.

HIP_PYTHON_CUjitInputType_HALLUCINATE:

Make CUjitInputType hallucinate values for non-existing enum constants. Disabled by default if default is not modified via environment variable.

Default value can be set/unset via environment variable HIP_PYTHON_CUjitInputType_HALLUCINATE.

  • Environment variable values that result in True are: yes, 1, y, true

  • Those that result in False are: no, 0, n, false.

HIP_PYTHON_CUjitInputType_enum_HALLUCINATE:

Make CUjitInputType_enum hallucinate values for non-existing enum constants. Disabled by default if default is not modified via environment variable.

Default value can be set/unset via environment variable HIP_PYTHON_CUjitInputType_enum_HALLUCINATE.

  • Environment variable values that result in True are: yes, 1, y, true

  • Those that result in False are: no, 0, n, false.

CUlinkState:

Alias of hiprtcLinkState

nvrtcGetErrorString:

Alias of hiprtcGetErrorString

nvrtcVersion:

Alias of hiprtcVersion

nvrtcProgram:

Alias of hiprtcProgram

nvrtcAddNameExpression:

Alias of hiprtcAddNameExpression

nvrtcCompileProgram:

Alias of hiprtcCompileProgram

nvrtcCreateProgram:

Alias of hiprtcCreateProgram

nvrtcDestroyProgram:

Alias of hiprtcDestroyProgram

nvrtcGetLoweredName:

Alias of hiprtcGetLoweredName

nvrtcGetProgramLog:

Alias of hiprtcGetProgramLog

nvrtcGetProgramLogSize:

Alias of hiprtcGetProgramLogSize

nvrtcGetPTX:

Alias of hiprtcGetCode

nvrtcGetPTXSize:

Alias of hiprtcGetCodeSize

nvrtcGetCUBIN:

Alias of hiprtcGetBitcode

nvrtcGetCUBINSize:

Alias of hiprtcGetBitcodeSize

cuLinkCreate:

Alias of hiprtcLinkCreate

cuLinkCreate_v2:

Alias of hiprtcLinkCreate

cuLinkAddFile:

Alias of hiprtcLinkAddFile

cuLinkAddFile_v2:

Alias of hiprtcLinkAddFile

cuLinkAddData:

Alias of hiprtcLinkAddData

cuLinkAddData_v2:

Alias of hiprtcLinkAddData

cuLinkComplete:

Alias of hiprtcLinkComplete

cuLinkDestroy:

Alias of hiprtcLinkDestroy

class cuda.nvrtc.nvrtcResult(value)

Bases: _hiprtcResult__Base

An enumeration.

HIPRTC_SUCCESS = 0
NVRTC_SUCCESS = 0
HIPRTC_ERROR_OUT_OF_MEMORY = 1
NVRTC_ERROR_OUT_OF_MEMORY = 1
HIPRTC_ERROR_PROGRAM_CREATION_FAILURE = 2
NVRTC_ERROR_PROGRAM_CREATION_FAILURE = 2
HIPRTC_ERROR_INVALID_INPUT = 3
NVRTC_ERROR_INVALID_INPUT = 3
HIPRTC_ERROR_INVALID_PROGRAM = 4
NVRTC_ERROR_INVALID_PROGRAM = 4
HIPRTC_ERROR_INVALID_OPTION = 5
NVRTC_ERROR_INVALID_OPTION = 5
HIPRTC_ERROR_COMPILATION = 6
NVRTC_ERROR_COMPILATION = 6
HIPRTC_ERROR_BUILTIN_OPERATION_FAILURE = 7
NVRTC_ERROR_BUILTIN_OPERATION_FAILURE = 7
HIPRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION = 8
NVRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION = 8
HIPRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION = 9
NVRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION = 9
HIPRTC_ERROR_NAME_EXPRESSION_NOT_VALID = 10
NVRTC_ERROR_NAME_EXPRESSION_NOT_VALID = 10
HIPRTC_ERROR_INTERNAL_ERROR = 11
NVRTC_ERROR_INTERNAL_ERROR = 11
HIPRTC_ERROR_LINKING = 100
class cuda.nvrtc.CUjitInputType(value)

Bases: _hiprtcJITInputType__Base

An enumeration.

HIPRTC_JIT_INPUT_CUBIN = 0
CU_JIT_INPUT_CUBIN = 0
HIPRTC_JIT_INPUT_PTX = 1
CU_JIT_INPUT_PTX = 1
HIPRTC_JIT_INPUT_FATBINARY = 2
CU_JIT_INPUT_FATBINARY = 2
HIPRTC_JIT_INPUT_OBJECT = 3
CU_JIT_INPUT_OBJECT = 3
HIPRTC_JIT_INPUT_LIBRARY = 4
CU_JIT_INPUT_LIBRARY = 4
HIPRTC_JIT_INPUT_NVVM = 5
CU_JIT_INPUT_NVVM = 5
HIPRTC_JIT_NUM_LEGACY_INPUT_TYPES = 6
CU_JIT_NUM_INPUT_TYPES = 6
HIPRTC_JIT_INPUT_LLVM_BITCODE = 100
HIPRTC_JIT_INPUT_LLVM_BUNDLED_BITCODE = 101
HIPRTC_JIT_INPUT_LLVM_ARCHIVES_OF_BUNDLED_BITCODE = 102
HIPRTC_JIT_NUM_INPUT_TYPES = 9
class cuda.nvrtc.CUjitInputType_enum(value)

Bases: _hiprtcJITInputType__Base

An enumeration.

HIPRTC_JIT_INPUT_CUBIN = 0
CU_JIT_INPUT_CUBIN = 0
HIPRTC_JIT_INPUT_PTX = 1
CU_JIT_INPUT_PTX = 1
HIPRTC_JIT_INPUT_FATBINARY = 2
CU_JIT_INPUT_FATBINARY = 2
HIPRTC_JIT_INPUT_OBJECT = 3
CU_JIT_INPUT_OBJECT = 3
HIPRTC_JIT_INPUT_LIBRARY = 4
CU_JIT_INPUT_LIBRARY = 4
HIPRTC_JIT_INPUT_NVVM = 5
CU_JIT_INPUT_NVVM = 5
HIPRTC_JIT_NUM_LEGACY_INPUT_TYPES = 6
CU_JIT_NUM_INPUT_TYPES = 6
HIPRTC_JIT_INPUT_LLVM_BITCODE = 100
HIPRTC_JIT_INPUT_LLVM_BUNDLED_BITCODE = 101
HIPRTC_JIT_INPUT_LLVM_ARCHIVES_OF_BUNDLED_BITCODE = 102
HIPRTC_JIT_NUM_INPUT_TYPES = 9
class cuda.nvrtc.CUlinkState_st

Bases: ihiprtcLinkState

static PROPERTIES()
__getitem__(key, /)

Return self[key].

__init__()

Constructor.

Args:
pyobj (object):

See the class description Pointer for information about accepted types for pyobj. Defaults to None.

Raises:

TypeError: If the input object pyobj is not of the right type.

as_c_void_p(self)

Returns the data’s address as ctypes.c_void_p Note:

Implemented as function to not collide with autogenerated property names.

createRef(self) Pointer

Creates are reference to this pointer.

Returns a Pointer that stores the address of this `~.Pointer’s data pointer.

Note:

No ownership information is transferred.

static fromObj(pyobj)

Creates a ihiprtcLinkState from a Python object.

Derives a ihiprtcLinkState from the given Python object pyobj. In case pyobj is itself an ihiprtcLinkState reference, this method returns it directly. No new ihiprtcLinkState is created in this case.

is_ptr_null

If data pointer is NULL.

cuda.nvrtc.CUlinkState

alias of ihiprtcLinkState

cuda.nvrtc.nvrtcGetErrorString(result)

hiprtcGetErrorString(result) Returns text string message to explain the error which occurred

Warning:

In HIP, this function returns the name of the error, if the hiprtc result is defined, it will return “Invalid HIPRTC error code”

See:

hiprtcResult

Args:
result (hiprtcResult) – IN:

code to convert to string.

Returns:

A tuple of size 1 that contains (in that order):

  • bytes: const char pointer to the NULL-terminated error string

cuda.nvrtc.nvrtcVersion()

hiprtcVersion() Sets the parameters as major and minor version.

Returns:

A tuple of size 3 that contains (in that order):

cuda.nvrtc.nvrtcProgram

alias of _hiprtcProgram

cuda.nvrtc.nvrtcAddNameExpression(prog, name_expression)

hiprtcAddNameExpression(prog, name_expression) Adds the given name exprssion to the runtime compilation program.

If const char pointer is NULL, it will return HIPRTC_ERROR_INVALID_INPUT.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

name_expression (CStr/object) – IN:

const char pointer to the name expression.

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.nvrtcCompileProgram(prog, numOptions, options)

hiprtcCompileProgram(prog, int numOptions, options) Compiles the given runtime compilation program.

If the compiler failed to build the runtime compilation program, it will return HIPRTC_ERROR_COMPILATION.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

numOptions (int) – IN:

number of compiler options.

options (ListOfBytes/object) – IN:

compiler options as const array of strins.

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.nvrtcCreateProgram(src, name, numHeaders, headers, includeNames)

hiprtcCreateProgram(src, name, int numHeaders, headers, includeNames) Creates an instance of hiprtcProgram with the given input parameters,

and sets the output hiprtcProgram prog with it.

Any invalide input parameter, it will return HIPRTC_ERROR_INVALID_INPUT or HIPRTC_ERROR_INVALID_PROGRAM.

If failed to create the program, it will return HIPRTC_ERROR_PROGRAM_CREATION_FAILURE.

See:

hiprtcResult

Args:
src (CStr/object) – IN:

const char pointer to the program source.

name (CStr/object) – IN:

const char pointer to the program name.

numHeaders (int) – IN:

number of headers.

headers (ListOfBytes/object) – IN:

array of strings pointing to headers.

includeNames (ListOfBytes/object) – IN:

array of strings pointing to names included in program source.

Returns:

A tuple of size 2 that contains (in that order):

cuda.nvrtc.nvrtcDestroyProgram(prog)

hiprtcDestroyProgram(prog) Destroys an instance of given hiprtcProgram.

If prog is NULL, it will return HIPRTC_ERROR_INVALID_INPUT.

See:

hiprtcResult

Args:
prog (Pointer/object) – IN:

runtime compilation program instance.

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.nvrtcGetLoweredName(prog, name_expression)

hiprtcGetLoweredName(prog, name_expression) Gets the lowered (mangled) name from an instance of hiprtcProgram with the given input parameters,

and sets the output lowered_name with it.

If any invalide nullptr input parameters, it will return HIPRTC_ERROR_INVALID_INPUT

If name_expression is not found, it will return HIPRTC_ERROR_NAME_EXPRESSION_NOT_VALID

If failed to get lowered_name from the program, it will return HIPRTC_ERROR_COMPILATION.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

name_expression (CStr/object) – IN:

const char pointer to the name expression.

Returns:

A tuple of size 2 that contains (in that order):

cuda.nvrtc.nvrtcGetProgramLog(prog, log)

hiprtcGetProgramLog(prog, log) Gets the log generated by the runtime compilation program instance.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

log (CStr/object) – OUT:

memory pointer to the generated log.

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.nvrtcGetProgramLogSize(prog)

hiprtcGetProgramLogSize(prog) Gets the size of log generated by the runtime compilation program instance.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

Returns:

A tuple of size 2 that contains (in that order):

cuda.nvrtc.nvrtcGetPTX(prog, code)

hiprtcGetCode(prog, code) Gets the pointer of compilation binary by the runtime compilation program instance.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

code (NDBuffer/object) – OUT:

char pointer to binary.

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.nvrtcGetPTXSize(prog)

hiprtcGetCodeSize(prog) Gets the size of compilation binary by the runtime compilation program instance.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

Returns:

A tuple of size 2 that contains (in that order):

cuda.nvrtc.nvrtcGetCUBIN(prog, bitcode)

hiprtcGetBitcode(prog, bitcode) Gets the pointer of compiled bitcode by the runtime compilation program instance.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

bitcode (NDBuffer/object) – OUT:

char pointer to bitcode.

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.nvrtcGetCUBINSize(prog)

hiprtcGetBitcodeSize(prog) Gets the size of compiled bitcode by the runtime compilation program instance.

See:

hiprtcResult

Args:
prog (_hiprtcProgram/object) – IN:

runtime compilation program instance.

Returns:

A tuple of size 2 that contains (in that order):

cuda.nvrtc.cuLinkCreate(num_options, option_ptr, option_vals_pptr)

hiprtcLinkCreate(unsigned int num_options, option_ptr, option_vals_pptr) Creates the link instance via hiprtc APIs.

See:

hiprtcResult

Args:
num_options (int) – IN:

Number of options

option_ptr (HiprtcLinkCreate_option_ptr/object) – IN:

Array of options

option_vals_pptr (ListOfPointer/object) – IN:

Array of option values cast to void*

Returns:

A tuple of size 2 that contains (in that order):

cuda.nvrtc.cuLinkCreate_v2(num_options, option_ptr, option_vals_pptr)

hiprtcLinkCreate(unsigned int num_options, option_ptr, option_vals_pptr) Creates the link instance via hiprtc APIs.

See:

hiprtcResult

Args:
num_options (int) – IN:

Number of options

option_ptr (HiprtcLinkCreate_option_ptr/object) – IN:

Array of options

option_vals_pptr (ListOfPointer/object) – IN:

Array of option values cast to void*

Returns:

A tuple of size 2 that contains (in that order):

cuda.nvrtc.cuLinkAddFile(hip_link_state, input_type, file_path, num_options, options_ptr, option_values)

hiprtcLinkAddFile(hip_link_state, input_type, file_path, unsigned int num_options, options_ptr, option_values) Adds a file with bit code to be linked with options

If input values are invalid, it will

See:

hiprtcResult

Args:
hip_link_state (ihiprtcLinkState/object) – IN:

hiprtc link state

input_type (hiprtcJITInputType) – IN:

Type of the input data or bitcode

file_path (CStr/object) – IN:

Path to the input file where bitcode is present

num_options (int) – IN:

Size of the options

options_ptr (Pointer/object) – IN:

Array of options applied to this input

option_values (Pointer/object) – IN:

Array of option values cast to void*

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.cuLinkAddFile_v2(hip_link_state, input_type, file_path, num_options, options_ptr, option_values)

hiprtcLinkAddFile(hip_link_state, input_type, file_path, unsigned int num_options, options_ptr, option_values) Adds a file with bit code to be linked with options

If input values are invalid, it will

See:

hiprtcResult

Args:
hip_link_state (ihiprtcLinkState/object) – IN:

hiprtc link state

input_type (hiprtcJITInputType) – IN:

Type of the input data or bitcode

file_path (CStr/object) – IN:

Path to the input file where bitcode is present

num_options (int) – IN:

Size of the options

options_ptr (Pointer/object) – IN:

Array of options applied to this input

option_values (Pointer/object) – IN:

Array of option values cast to void*

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.cuLinkAddData(hip_link_state, input_type, image, image_size, name, num_options, options_ptr, option_values)

hiprtcLinkAddData(hip_link_state, input_type, image, unsigned long image_size, name, unsigned int num_options, options_ptr, option_values) Completes the linking of the given program.

If adding the file fails, it will

See:

hiprtcResult

Args:
hip_link_state (ihiprtcLinkState/object) – IN:

hiprtc link state

input_type (hiprtcJITInputType) – IN:

Type of the input data or bitcode

image (Pointer/object) – IN:

Input data which is null terminated

image_size (int) – IN:

Size of the input data

name (CStr/object) – IN:

Optional name for this input

num_options (int) – IN:

Size of the options

options_ptr (Pointer/object) – IN:

Array of options applied to this input

option_values (Pointer/object) – IN:

Array of option values cast to void*

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.cuLinkAddData_v2(hip_link_state, input_type, image, image_size, name, num_options, options_ptr, option_values)

hiprtcLinkAddData(hip_link_state, input_type, image, unsigned long image_size, name, unsigned int num_options, options_ptr, option_values) Completes the linking of the given program.

If adding the file fails, it will

See:

hiprtcResult

Args:
hip_link_state (ihiprtcLinkState/object) – IN:

hiprtc link state

input_type (hiprtcJITInputType) – IN:

Type of the input data or bitcode

image (Pointer/object) – IN:

Input data which is null terminated

image_size (int) – IN:

Size of the input data

name (CStr/object) – IN:

Optional name for this input

num_options (int) – IN:

Size of the options

options_ptr (Pointer/object) – IN:

Array of options applied to this input

option_values (Pointer/object) – IN:

Array of option values cast to void*

Returns:

A tuple of size 1 that contains (in that order):

cuda.nvrtc.cuLinkComplete(hip_link_state)

hiprtcLinkComplete(hip_link_state) Completes the linking of the given program.

If adding the data fails, it will

See:

hiprtcResult

Args:
hip_link_state (ihiprtcLinkState/object) – IN:

hiprtc link state

Returns:

A tuple of size 3 that contains (in that order):

cuda.nvrtc.cuLinkDestroy(hip_link_state)

hiprtcLinkDestroy(hip_link_state) Deletes the link instance via hiprtc APIs.

See:

hiprtcResult

Args:
hip_link_state (ihiprtcLinkState/object) – IN:

link state instance

Returns:

A tuple of size 1 that contains (in that order):