HIP: Heterogenous-computing Interface for Portability: Runtime Compilation

HIP: Heterogenous-computing Interface for Portability

Typedefs | Enumerations | Functions
Runtime Compilation
HIP API » Texture Management

This section describes the runtime compilation functions of HIP runtime API. More...

Collaboration diagram for Runtime Compilation:

## Typedefs
typedef enum hiprtcResult | hiprtcResult
typedef struct _hiprtcProgram * | hiprtcProgram

## Enumerations
enum | hiprtcResult { HIPRTC_SUCCESS = 0, HIPRTC_ERROR_OUT_OF_MEMORY = 1, HIPRTC_ERROR_PROGRAM_CREATION_FAILURE = 2, HIPRTC_ERROR_INVALID_INPUT = 3, HIPRTC_ERROR_INVALID_PROGRAM = 4, HIPRTC_ERROR_INVALID_OPTION = 5, HIPRTC_ERROR_COMPILATION = 6, HIPRTC_ERROR_BUILTIN_OPERATION_FAILURE = 7, HIPRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION = 8, HIPRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION = 9, HIPRTC_ERROR_NAME_EXPRESSION_NOT_VALID = 10, HIPRTC_ERROR_INTERNAL_ERROR = 11 }

## Functions
const char * | hiprtcGetErrorString (hiprtcResult result)
| Returns text string message to explain the error which occurred. More...
hiprtcResult | hiprtcVersion (int *major, int *minor)
| Sets the parameters as major and minor version. More...
hiprtcResult | hiprtcAddNameExpression (hiprtcProgram prog, const char *name_expression)
| Adds the given name exprssion to the runtime compilation program. More...
hiprtcResult | hiprtcCompileProgram (hiprtcProgram prog, int numOptions, const char **options)
| Compiles the given runtime compilation program. More...
hiprtcResult | hiprtcCreateProgram (hiprtcProgram *prog, const char *src, const char *name, int numHeaders, const char **headers, const char **includeNames)
| Creates an instance of hiprtcProgram with the given input parameters, and sets the output hiprtcProgram prog with it. More...
hiprtcResult | hiprtcDestroyProgram (hiprtcProgram *prog)
| Destroys an instance of given hiprtcProgram. More...
hiprtcResult | hiprtcGetLoweredName (hiprtcProgram prog, const char *name_expression, const char **lowered_name)
| Gets the lowered (mangled) name from an instance of hiprtcProgram with the given input parameters, and sets the output lowered_name with it. More...
hiprtcResult | hiprtcGetProgramLog (hiprtcProgram prog, char *log)
| Gets the log generated by the runtime compilation program instance. More...
hiprtcResult | hiprtcGetProgramLogSize (hiprtcProgram prog, size_t *logSizeRet)
| Gets the size of log generated by the runtime compilation program instance. More...
hiprtcResult | hiprtcGetCode (hiprtcProgram prog, char *code)
| Gets the pointer of compilation binary by the runtime compilation program instance. More...
hiprtcResult | hiprtcGetCodeSize (hiprtcProgram prog, size_t *codeSizeRet)
| Gets the size of compilation binary by the runtime compilation program instance. More...

## Detailed Description

This section describes the runtime compilation functions of HIP runtime API.

## Function Documentation

## ◆ hiprtcAddNameExpression()

hiprtcResult hiprtcAddNameExpression | ( | hiprtcProgram | prog,
|  | const char * | name_expression
| ) |  |

Adds the given name exprssion to the runtime compilation program.

Parameters

  [in] | prog | runtime compilation program instance.
  [in] | name_expression | const char pointer to the name expression.

Returns
  HIPRTC_SUCCESS

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

See also
  hiprtcResult

## ◆ hiprtcCompileProgram()

hiprtcResult hiprtcCompileProgram | ( | hiprtcProgram | prog,
|  | int | numOptions,
|  | const char ** | options
| ) |  |

Compiles the given runtime compilation program.

Parameters

  [in] | prog | runtime compilation program instance.
  [in] | numOptions | number of compiler options.
  [in] | options | compiler options as const array of strins.

Returns
  HIPRTC_SUCCESS

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

See also
  hiprtcResult

## ◆ hiprtcCreateProgram()

hiprtcResult hiprtcCreateProgram | ( | hiprtcProgram * | prog,
|  | const char * | src,
|  | const char * | name,
|  | int | numHeaders,
|  | const char ** | headers,
|  | const char ** | includeNames
| ) |  |

Creates an instance of hiprtcProgram with the given input parameters, and sets the output hiprtcProgram prog with it.

Parameters

  [in,out] | prog | runtime compilation program instance.
  [in] | src | const char pointer to the program source.
  [in] | name | const char pointer to the program name.
  [in] | numHeaders | number of headers.
  [in] | headers | array of strings pointing to headers.
  [in] | includeNames | array of strings pointing to names included in program source.

Returns
  HIPRTC_SUCCESS

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 also
  hiprtcResult

## ◆ hiprtcDestroyProgram()

hiprtcResult hiprtcDestroyProgram | ( | hiprtcProgram * | prog | ) |

Destroys an instance of given hiprtcProgram.

Parameters

  [in] | prog | runtime compilation program instance.

Returns
  HIPRTC_SUCCESS

If prog is NULL, it will return HIPRTC_ERROR_INVALID_INPUT.

See also
  hiprtcResult

## ◆ hiprtcGetCode()

hiprtcResult hiprtcGetCode | ( | hiprtcProgram | prog,
|  | char * | code
| ) |  |

Gets the pointer of compilation binary by the runtime compilation program instance.

Parameters

  [in] | prog | runtime compilation program instance.
  [out] | code | char pointer to binary.

Returns
  HIPRTC_SUCCESS

See also
  hiprtcResult

## ◆ hiprtcGetCodeSize()

hiprtcResult hiprtcGetCodeSize | ( | hiprtcProgram | prog,
|  | size_t * | codeSizeRet
| ) |  |

Gets the size of compilation binary by the runtime compilation program instance.

Parameters

  [in] | prog | runtime compilation program instance.
  [out] | code | the size of binary.

Returns
  HIPRTC_SUCCESS

See also
  hiprtcResult

## ◆ hiprtcGetErrorString()

const char* hiprtcGetErrorString | ( | hiprtcResult | result | ) |

Returns text string message to explain the error which occurred.

Parameters

  [in] | result | code to convert to string.

Returns
  const char pointer to the NULL-terminated error string

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 also
  hiprtcResult

## ◆ hiprtcGetLoweredName()

hiprtcResult hiprtcGetLoweredName | ( | hiprtcProgram | prog,
|  | const char * | name_expression,
|  | const char ** | lowered_name
| ) |  |

Gets the lowered (mangled) name from an instance of hiprtcProgram with the given input parameters, and sets the output lowered_name with it.

Parameters

  [in] | prog | runtime compilation program instance.
  [in] | name_expression | const char pointer to the name expression.
  [in,out] | lowered_name | const char array to the lowered (mangled) name.

Returns
  HIPRTC_SUCCESS

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 also
  hiprtcResult

## ◆ hiprtcGetProgramLog()

hiprtcResult hiprtcGetProgramLog | ( | hiprtcProgram | prog,
|  | char * | log
| ) |  |

Gets the log generated by the runtime compilation program instance.

Parameters

  [in] | prog | runtime compilation program instance.
  [out] | log | memory pointer to the generated log.

Returns
  HIPRTC_SUCCESS

See also
  hiprtcResult

## ◆ hiprtcGetProgramLogSize()

hiprtcResult hiprtcGetProgramLogSize | ( | hiprtcProgram | prog,
|  | size_t * | logSizeRet
| ) |  |

Gets the size of log generated by the runtime compilation program instance.

Parameters

  [in] | prog | runtime compilation program instance.
  [out] | logSizeRet | size of generated log.

Returns
  HIPRTC_SUCCESS

See also
  hiprtcResult

## ◆ hiprtcVersion()

hiprtcResult hiprtcVersion | ( | int * | major,
|  | int * | minor
| ) |  |

Sets the parameters as major and minor version.

Parameters

  [out] | major | HIP Runtime Compilation major version.
  [out] | minor | HIP Runtime Compilation minor version.