SWDEV-437702 - implemented hipGetProcAddress

Change-Id: I70498841aefae85593b8ae1abf34d1cec8f232bc
This commit is contained in:
jiabaxie
2023-12-19 12:31:47 -05:00
committato da Jiabao Xie
parent f653cd037a
commit a4e5fd1ae1
+25
Vedi File
@@ -540,6 +540,12 @@ typedef enum hipDeviceAttribute_t {
// Extended attributes for vendors // Extended attributes for vendors
} hipDeviceAttribute_t; } hipDeviceAttribute_t;
typedef enum hipDriverProcAddressQueryResult {
HIP_GET_PROC_ADDRESS_SUCCESS = 0,
HIP_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND = 1,
HIP_GET_PROC_ADDRESS_LIBRARY_NOT_FOUND = 2
} hipDriverProcAddressQueryResult;
enum hipComputeMode { enum hipComputeMode {
hipComputeModeDefault = 0, hipComputeModeDefault = 0,
hipComputeModeExclusive = 1, hipComputeModeExclusive = 1,
@@ -1589,6 +1595,7 @@ typedef struct hipGraphNodeParams {
*/ */
// TODO-ctx - more description on error codes. // TODO-ctx - more description on error codes.
hipError_t hipInit(unsigned int flags); hipError_t hipInit(unsigned int flags);
/** /**
* @brief Returns the approximate HIP driver version. * @brief Returns the approximate HIP driver version.
* *
@@ -4004,6 +4011,8 @@ hipError_t hipModuleGetGlobal(hipDeviceptr_t* dptr, size_t* bytes,
*/ */
hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol); hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
/** /**
* @brief Gets the size of the given symbol on the device. * @brief Gets the size of the given symbol on the device.
* *
@@ -4015,6 +4024,19 @@ hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
*/ */
hipError_t hipGetSymbolSize(size_t* size, const void* symbol); hipError_t hipGetSymbolSize(size_t* size, const void* symbol);
/**
* @brief Gets the symbol's function address
*
* @param[in] symbol symbol name in char*
* @param[out] pfn output pointer to symbol
* @param[in] hipVersion version of the function requested. Rocm 6.0.1 = 601
* @param[in] flags currently there is no flags other than default
* @param[out] symbolStatus optional enum returned to indicate what part failed
* @return #hipSuccess, #hipErrorInvalidValue
*/
hipError_t hipGetProcAddress(const char* symbol, void** pfn, int hipVersion, uint64_t flags,
hipDriverProcAddressQueryResult* symbolStatus);
/** /**
* @brief Copies data to the given symbol on the device. * @brief Copies data to the given symbol on the device.
* Symbol HIP APIs allow a kernel to define a device-side data symbol which can be accessed on * Symbol HIP APIs allow a kernel to define a device-side data symbol which can be accessed on
@@ -8843,6 +8865,8 @@ static inline hipError_t hipMallocFromPoolAsync(
/** /**
* @} * @}
*/ */
#endif // __cplusplus #endif // __cplusplus
#ifdef __GNUC__ #ifdef __GNUC__
@@ -8910,6 +8934,7 @@ static inline hipError_t hipMallocManaged(T** devPtr, size_t size,
return hipMallocManaged((void**)devPtr, size, flags); return hipMallocManaged((void**)devPtr, size, flags);
} }
#endif #endif
#endif #endif
// doxygen end HIP API // doxygen end HIP API