Память графического процессора не получает бесплатной с помощью cudamalloc3darrayC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Память графического процессора не получает бесплатной с помощью cudamalloc3darray

Сообщение Anonymous »

Я использую C ++, GTX1070 < /p>
Я выделяю массив CUDA, как описано: < /p>

Код: Выделить всё

//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();
VERIFY_CALL( cudaMalloc3DArray(&d_volumeArray, &channelDesc, volumeSize) );
cu_VolArray[device][VolumeId] = d_volumeArray;
< /code>
Тогда я пытаюсь освободить это так: < /p>
    VERIFY_CALL(cudaFreeArray(cu_VolArray[device][VolumeId]));
cu_VolArray[device][VolumeId] = NULL;
< /code>
Использование GPUZ, выделение, увеличит память графического процессора на 100 МБ, а бесплатное уменьшится на 10 МБ - как очистить дополнительную память? < /p>
Весь этот код Запустите Mex в Matlab (2012a).
Эти «застрявшие» блоки памяти заставляют мой Matlab застрять (застряв на «занято»), пытаясь очистить mex_name 


Подробнее здесь: https://stackoverflow.com/questions/554 ... loc3darray
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»