**编辑: 我会完善我的问题
我正在使用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;
使用GPUz,分配将使GPU内存增加100MB,而释放将减少10MB-如何清除扩展的内存?
整个代码在MATLAB(2012a)中通过mex运行。 尝试“清除mex_name”时,这些“卡住”的内存块导致我的MATLAB卡住(卡在“忙”状态)