Я размещаю некоторые массивы с плавающей запятой (довольно большие, т.е. 9 000 000 элементов) на GPU, используя cudaMalloc((void**)&(storage->data), size * sizeof(float))
.В конце моей программы я освобождаю эту память, используя cudaFree(storage->data);
.
Проблема в том, что первое освобождение действительно медленное, около 10 секунд, тогда как остальные почти мгновенные.
Мой вопрос заключается в следующем: что может вызвать эту разницу?Является ли освобождение памяти на GPU обычно таким медленным?