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 .