大家好,我是一个cuda新手.我有一个问题.我在函数数中new了一块显存,我怎么把这块显存及时释放了.使用cudaFree释放,还是delete释放.比较烦恼.
global gpu()
{
double* dVectorEx = new double[power(2,DBN_N) * decExLen]();
cudaFree(dVectorEx);
delete[] dVectorEx;
}
这两种方式使用那一个比较好;求大牛解决一下.
大家好,我是一个cuda新手.我有一个问题.我在函数数中new了一块显存,我怎么把这块显存及时释放了.使用cudaFree释放,还是delete释放.比较烦恼.
global gpu()
{
double* dVectorEx = new double[power(2,DBN_N) * decExLen]();
cudaFree(dVectorEx);
delete[] dVectorEx;
}
这两种方式使用那一个比较好;求大牛解决一下.
in kernel:
if you use new, you should use delete
if you use malloc(), you should use free()
if you use cudaMalloc(), you should use cudaFree()