Runtime Compilation#
Typedefs | |
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. | |
hiprtcResult | hiprtcVersion (int *major, int *minor) |
Sets the parameters as major and minor version. | |
hiprtcResult | hiprtcAddNameExpression (hiprtcProgram prog, const char *name_expression) |
Adds the given name exprssion to the runtime compilation program. | |
hiprtcResult | hiprtcCompileProgram (hiprtcProgram prog, int numOptions, const char **options) |
Compiles the given runtime compilation program. | |
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. | |
hiprtcResult | hiprtcDestroyProgram (hiprtcProgram *prog) |
Destroys an instance of given hiprtcProgram. | |
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. | |
hiprtcResult | hiprtcGetProgramLog (hiprtcProgram prog, char *log) |
Gets the log generated by the runtime compilation program instance. | |
hiprtcResult | hiprtcGetProgramLogSize (hiprtcProgram prog, size_t *logSizeRet) |
Gets the size of log generated by the runtime compilation program instance. | |
hiprtcResult | hiprtcGetCode (hiprtcProgram prog, char *code) |
Gets the pointer of compilation binary by the runtime compilation program instance. | |
hiprtcResult | hiprtcGetCodeSize (hiprtcProgram prog, size_t *codeSizeRet) |
Gets the size of compilation binary by the runtime compilation program instance. | |
Detailed Description
This section describes the runtime compilation functions of HIP runtime API.
Typedef Documentation
◆ hiprtcProgram
typedef struct _hiprtcProgram* hiprtcProgram |
Enumeration Type Documentation
◆ hiprtcResult
enum hiprtcResult |
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.