Module Management

Module Management#

HIP Runtime API Reference: Module Management
Module Management
Collaboration diagram for Module Management:

Modules

 Cooperative groups kernel launch of Module management.
 

Functions

hipError_t hipModuleGetGlobal (hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name)
 Returns a global pointer from a module.
 
hipError_t hipModuleLoad (hipModule_t *module, const char *fname)
 Loads code object from file into a module the currrent context.
 
hipError_t hipModuleUnload (hipModule_t module)
 Frees the module.
 
hipError_t hipModuleGetFunction (hipFunction_t *function, hipModule_t module, const char *kname)
 Function with kname will be extracted if present in module.
 
hipError_t hipGetFuncBySymbol (hipFunction_t *functionPtr, const void *symbolPtr)
 Gets pointer to device entry function that matches entry function symbolPtr.
 
hipError_t hipModuleGetTexRef (textureReference **texRef, hipModule_t hmod, const char *name)
 returns the handle of the texture reference with the name from the module.
 
hipError_t hipModuleLoadData (hipModule_t *module, const void *image)
 builds module from code object which resides in host memory. Image is pointer to that location.
 
hipError_t hipModuleLoadDataEx (hipModule_t *module, const void *image, unsigned int numOptions, hipJitOption *options, void **optionValues)
 builds module from code object which resides in host memory. Image is pointer to that location. Options are not used. hipModuleLoadData is called.
 
hipError_t hipLinkAddData (hipLinkState_t state, hipJitInputType type, void *data, size_t size, const char *name, unsigned int numOptions, hipJitOption *options, void **optionValues)
 Adds bitcode data to be linked with options.
 
hipError_t hipLinkAddFile (hipLinkState_t state, hipJitInputType type, const char *path, unsigned int numOptions, hipJitOption *options, void **optionValues)
 Adds a file with bitcode to be linked with options.
 
hipError_t hipLinkComplete (hipLinkState_t state, void **hipBinOut, size_t *sizeOut)
 Completes the linking of the given program.
 
hipError_t hipLinkCreate (unsigned int numOptions, hipJitOption *options, void **optionValues, hipLinkState_t *stateOut)
 Creates a linker instance with options.
 
hipError_t hipLinkDestroy (hipLinkState_t state)
 Deletes the linker instance.
 

Detailed Description



This section describes the module management functions of HIP runtime API.

Function Documentation

◆ hipGetFuncBySymbol()

hipError_t hipGetFuncBySymbol ( hipFunction_t functionPtr,
const void *  symbolPtr 
)

Gets pointer to device entry function that matches entry function symbolPtr.

Parameters
[out]functionPtrDevice entry function
[in]symbolPtrPointer to device entry function to search for
Returns
hipSuccess, hipErrorInvalidDeviceFunction

◆ hipLinkAddData()

hipError_t hipLinkAddData ( hipLinkState_t  state,
hipJitInputType  type,
void *  data,
size_t  size,
const char *  name,
unsigned int  numOptions,
hipJitOption options,
void **  optionValues 
)

Adds bitcode data to be linked with options.

Parameters
[in]statehip link state
[in]typeType of the input data or bitcode
[in]dataInput data which is null terminated
[in]sizeSize of the input data
[in]nameOptional name for this input
[in]numOptionsSize of the options
[in]optionsArray of options applied to this input
[in]optionValuesArray of option values cast to void*
Returns
hipSuccess, hipErrorInvalidValue, hipErrorInvalidHandle

If adding the file fails, it will

Returns
hipErrorInvalidConfiguration
See also
hipError_t

◆ hipLinkAddFile()

hipError_t hipLinkAddFile ( hipLinkState_t  state,
hipJitInputType  type,
const char *  path,
unsigned int  numOptions,
hipJitOption options,
void **  optionValues 
)

Adds a file with bitcode to be linked with options.

Parameters
[in]statehip link state
[in]typeType of the input data or bitcode
[in]pathPath to the input file where bitcode is present
[in]numOptionsSize of the options
[in]optionsArray of options applied to this input
[in]optionValuesArray of option values cast to void*
Returns
hipSuccess, hipErrorInvalidValue

If adding the file fails, it will

Returns
hipErrorInvalidConfiguration
See also
hipError_t

◆ hipLinkComplete()

hipError_t hipLinkComplete ( hipLinkState_t  state,
void **  hipBinOut,
size_t *  sizeOut 
)

Completes the linking of the given program.

Parameters
[in]statehip link state
[out]hipBinOutUpon success, points to the output binary
[out]sizeOutSize of the binary is stored (optional)
Returns
hipSuccess hipErrorInvalidValue

If adding the data fails, it will

Returns
hipErrorInvalidConfiguration
See also
hipError_t

◆ hipLinkCreate()

hipError_t hipLinkCreate ( unsigned int  numOptions,
hipJitOption options,
void **  optionValues,
hipLinkState_t stateOut 
)

Creates a linker instance with options.

Parameters
[in]numOptionsNumber of options
[in]optionArray of options
[in]optionValuesArray of option values cast to void*
[out]stateOuthip link state created upon success
Returns
hipSuccess hipErrorInvalidValue hipErrorInvalidConfiguration
See also
hipSuccess

◆ hipLinkDestroy()

hipError_t hipLinkDestroy ( hipLinkState_t  state)

Deletes the linker instance.

Parameters
[in]statelink state instance
Returns
hipSuccess hipErrorInvalidValue
See also
hipSuccess

◆ hipModuleGetFunction()

hipError_t hipModuleGetFunction ( hipFunction_t function,
hipModule_t  module,
const char *  kname 
)

Function with kname will be extracted if present in module.

Parameters
[in]moduleModule to get function from
[in]knamePointer to the name of function
[out]functionPointer to function handle
Returns
hipSuccess, hipErrorInvalidValue, hipErrorInvalidContext, hipErrorNotInitialized, hipErrorNotFound,

◆ hipModuleGetGlobal()

hipError_t hipModuleGetGlobal ( hipDeviceptr_t dptr,
size_t *  bytes,
hipModule_t  hmod,
const char *  name 
)

Returns a global pointer from a module.

Returns in *dptr and *bytes the pointer and size of the global of name name located in module hmod. If no variable of that name exists, it returns hipErrorNotFound. Both parameters dptr and bytes are optional. If one of them is NULL, it is ignored and hipSuccess is returned.

Parameters
[out]dptrReturns global device pointer
[out]bytesReturns global size in bytes
[in]hmodModule to retrieve global from
[in]nameName of global to retrieve
Returns
hipSuccess, hipErrorInvalidValue, hipErrorNotFound, hipErrorInvalidContext

◆ hipModuleGetTexRef()

hipError_t hipModuleGetTexRef ( textureReference **  texRef,
hipModule_t  hmod,
const char *  name 
)

returns the handle of the texture reference with the name from the module.

Parameters
[in]hmodModule
[in]namePointer of name of texture reference
[out]texRefPointer of texture reference
Returns
hipSuccess, hipErrorNotInitialized, hipErrorNotFound, hipErrorInvalidValue

◆ hipModuleLoad()

hipError_t hipModuleLoad ( hipModule_t module,
const char *  fname 
)

Loads code object from file into a module the currrent context.

Parameters
[in]fnameFilename of code object to load
[out]moduleModule
Warning
File/memory resources allocated in this function are released only in hipModuleUnload.
Returns
hipSuccess, hipErrorInvalidValue, hipErrorInvalidContext, hipErrorFileNotFound, hipErrorOutOfMemory, hipErrorSharedObjectInitFailed, hipErrorNotInitialized

◆ hipModuleLoadData()

hipError_t hipModuleLoadData ( hipModule_t module,
const void *  image 
)

builds module from code object which resides in host memory. Image is pointer to that location.

Parameters
[in]imageThe pointer to the location of data
[out]moduleRetuned module
Returns
hipSuccess, hipErrorNotInitialized, hipErrorOutOfMemory, hipErrorNotInitialized

◆ hipModuleLoadDataEx()

hipError_t hipModuleLoadDataEx ( hipModule_t module,
const void *  image,
unsigned int  numOptions,
hipJitOption options,
void **  optionValues 
)

builds module from code object which resides in host memory. Image is pointer to that location. Options are not used. hipModuleLoadData is called.

Parameters
[in]imageThe pointer to the location of data
[out]moduleRetuned module
[in]numOptionsNumber of options
[in]optionsOptions for JIT
[in]optionValuesOption values for JIT
Returns
hipSuccess, hipErrorNotInitialized, hipErrorOutOfMemory, hipErrorNotInitialized

◆ hipModuleUnload()

hipError_t hipModuleUnload ( hipModule_t  module)

Frees the module.

Parameters
[in]moduleModule to free
Returns
hipSuccess, hipErrorInvalidResourceHandle

The module is freed, and the code objects associated with it are destroyed.