4

我在 GPU 上使用cudaMalloc((void**)&(storage->data), size * sizeof(float)). 在我的程序结束时,我使用cudaFree(storage->data);.

问题是第一次释放真的很慢,大约 10 秒,而其他的几乎是瞬时的。

我的问题如下:什么可能导致这种差异?GPU上的释放内存通常那么慢吗?

4

2 回答 2

3

正如 NVIDIA 论坛上所指出的,这几乎肯定是您计时的方式而不是 cudaFree 的问题。

于 2010-01-29T13:16:57.867 回答
1

should not be that slow, on Linux with cuda 2.2 it takes fraction of a second. Have you tried to run host and device profilers to see exactly why a slow? how many separate allocation do you perfor?, that does have some penalty but not so large.

于 2010-01-28T23:22:05.183 回答