を使用して、GPUにいくつかのfloat配列(かなり大きい、つまり9,000,000要素)を割り当てていますcudaMalloc((void**)&(storage->data), size * sizeof(float))
。プログラムの最後に、を使用してこのメモリを解放しますcudaFree(storage->data);
。
問題は、最初の割り当て解除が非常に遅く、約10秒であるのに対し、他の割り当て解除はほぼ瞬時に行われることです。
私の質問は次のとおりです:この違いを引き起こす可能性があるのは何ですか?GPUの割り当て解除メモリは通常それほど遅いですか?