diff --git a/hipamd/docs/markdown/hip_porting_driver_api.md b/hipamd/docs/markdown/hip_porting_driver_api.md index 0fca5771b8..0566e452bd 100644 --- a/hipamd/docs/markdown/hip_porting_driver_api.md +++ b/hipamd/docs/markdown/hip_porting_driver_api.md @@ -171,3 +171,83 @@ hipFunction k; hipModuleGetFunction(&k, module, "myKernel"); ``` +The below sample shows how to use `hipModuleGetFunction`. + +``` +#include +#include +#include +#include +#include + +#define LEN 64 +#define SIZE LEN<<2 + +#ifdef __HIP_PLATFORM_HCC__ +#define fileName "vcpy_isa.co" +#endif + +#ifdef __HIP_PLATFORM_NVCC__ +#define fileName "vcpy_isa.ptx" +#endif + +#define kernel_name "hello_world" + +int main(){ + float *A, *B; + hipDeviceptr_t Ad, Bd; + A = new float[LEN]; + B = new float[LEN]; + + for(uint32_t i=0;iargBuffer(2); + memcpy(&argBuffer[0], &Ad, sizeof(void*)); + memcpy(&argBuffer[1], &Bd, sizeof(void*)); + + size_t size = argBuffer.size()*sizeof(void*); + + void *config[] = { + HIP_LAUNCH_PARAM_BUFFER_POINTER, &argBuffer[0], + HIP_LAUNCH_PARAM_BUFFER_SIZE, &size, + HIP_LAUNCH_PARAM_END + }; + + hipModuleLaunchKernel(Function, 1, 1, 1, LEN, 1, 1, 0, 0, NULL, (void**)&con fig); + + hipMemcpyDtoH(B, Bd, SIZE); + for(uint32_t i=0;i