Память графического процессора не освобождается с помощью CUDAcudaMalloc3DArray - PullRequest
2 голосов
/ 31 марта 2019

** РЕДАКТИРОВАТЬ: Я уточню свой вопрос

Я использую C ++, GTX1070

Я выделяю массив CUDA, как описано:

//variables: Vdepth = 200, Vheight = 100, Vwidth = 100, device = 0 VolumeId = 0
cudaExtent volumeSize = make_cudaExtent(Vdepth, Vheight, Vwidth);
cudaArray *d_volumeArray = NULL;
cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc<texture_type>();
VERIFY_CALL( cudaMalloc3DArray(&d_volumeArray, &channelDesc, volumeSize) );
cu_VolArray[device][VolumeId] = d_volumeArray;

Тогда япопробуйте освободить его так:

    VERIFY_CALL(cudaFreeArray(cu_VolArray[device][VolumeId]));
    cu_VolArray[device][VolumeId] = NULL;

с использованием графического процессора, выделение увеличит память графического процессора на 100 МБ, а свободное уменьшится на 10 МБ - как очистить расширенную память?

весь этот кодпробежать через mex в MATLAB (2012a).эти "зависшие" блоки памяти приводят к зависанию моего MATLAB («занято») при попытке «очистить имя_мекса»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...