There is a cudaFree call in SpMVFloatVector::~SpMVFloatVector function in SpMV.cu file. According to bvec.c, we allocate GPU memory by requesting a large space and then manage manually, so we are not supposed to use cudaFree in SpMV.cu file. In our test, we obversed that cudaFree here always fail because the pointer passed into it is not the pointer returned from cudaMalloc
There is a
cudaFree
call inSpMVFloatVector::~SpMVFloatVector
function inSpMV.cu
file. According tobvec.c
, we allocate GPU memory by requesting a large space and then manage manually, so we are not supposed to usecudaFree
inSpMV.cu
file. In our test, we obversed thatcudaFree
here always fail because the pointer passed into it is not the pointer returned fromcudaMalloc