Index: tools/GPURuntime/GPUJIT.c =================================================================== --- tools/GPURuntime/GPUJIT.c +++ tools/GPURuntime/GPUJIT.c @@ -958,6 +958,10 @@ typedef CUresult CUDAAPI CuModuleUnloadFcnTy(CUmodule); static CuModuleUnloadFcnTy *CuModuleUnloadFcnPtr; + +typedef CUresult CUDAAPI CuProfilerStopFcnTy(); +static CuProfilerStopFcnTy *CuProfilerStopFcnPtr; + typedef CUresult CUDAAPI CuCtxDestroyFcnTy(CUcontext); static CuCtxDestroyFcnTy *CuCtxDestroyFcnPtr; @@ -1085,6 +1089,9 @@ CuModuleUnloadFcnPtr = (CuModuleUnloadFcnTy *)getAPIHandleCUDA(HandleCuda, "cuModuleUnload"); + CuProfilerStopFcnPtr = + (CuProfilerStopFcnTy *)getAPIHandleCUDA(HandleCuda, "cuProfilerStop"); + CuCtxDestroyFcnPtr = (CuCtxDestroyFcnTy *)getAPIHandleCUDA(HandleCuda, "cuCtxDestroy"); @@ -1416,6 +1423,7 @@ CUDAContext *Ctx = (CUDAContext *)Context->Context; if (Ctx->Cuda) { + CuProfilerStopFcnPtr(); CuCtxDestroyFcnPtr(Ctx->Cuda); free(Ctx); free(Context);