** РЕДАКТИРОВАТЬ: Я уточню свой вопрос
Я использую 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 («занято») при попытке «очистить имя_мекса»