Каков максимальный размер текстурной памяти на современном графическом процессоре? - PullRequest
4 голосов
/ 19 января 2012

Мы считаем, что текстурная память является частью глобальной памяти, это правда?Если так, сколько вы можете выделить?(Косвенно, сколько там?)

И правда ли, что все мультипроцессоры могут читать из памяти текстур одновременно?

Ответы [ 2 ]

3 голосов
/ 19 января 2012

Данные текстуры содержатся в массивах CUDA, а массивы CUDA размещаются вне глобальной памяти;поэтому, однако, много глобальной памяти все еще свободно (вы можете вызвать cuMemGetInfo (), чтобы увидеть, сколько свободной памяти осталось) доступно для выделения в качестве текстур.

Невозможно узнать, сколько памяти используется данной CUDAмассив - очевидно, он должен быть как минимум Width * Height * Depth * sizeof (Texel), но это может занять больше, потому что драйвер должен сделать выделение, которое соответствует требованиям к аппаратному выравниванию.

0 голосов
/ 08 ноября 2012

Пределы текстур для различных вычислительных возможностей можно найти в Руководстве по программированию CUDA, доступном на веб-сайте NVIDIA CUDA .

Для данного устройства можно запросить возможности устройства, включая пределы текстуры, с помощью функции cudaGetDeviceProperties .

Распределение зависит от объема доступной глобальной памяти и сегментации памяти, поэтому нет простого способа определить, будет ли данное выделение успешным или нет, особенно при работе с большими текстурами.

...