cuda编程中如何在核函数释放显存.

大家好,我是一个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()