How to free the GPU memory in JCuda as free function provided in JCuda is not releasing the GPU memory in real time applications?

294 views Asked by At
CUdeviceptr deviceInputA = new CUdeviceptr();
cuMemAlloc(deviceInputA, size * Sizeof.DOUBLE);
cuMemcpyHtoD(deviceInputA, Pointer.to(inputfingerprint), size * Sizeof.DOUBLE);

cuMemFree(deviceInputA);

Here cuMemFree is not releasing the GPU memory .

1

There are 1 answers

0
Indiano On

Finally , this problem is resolved . I had a 2D output array and was not deallocating the inner pointers of the array on the GPU . Hence GPU memory was not being released . After deallocation , it is releasing the GPU memory .
cuMemFree is working absolutely fine in JCuda .