我正在使用
cudaMalloc((void**)&(storage->data), size * sizeof(float))
在GPU上分配一些float数组(相当大,即900万个元素)。在程序结束时,我使用cudaFree(storage->data);
释放此内存。
问题在于,第一次销毁非常缓慢,大约需要10秒钟,而其他销毁几乎瞬间完成。
我的问题是:这种差异可能是什么原因? GPU上的内存销毁通常如此缓慢吗?