2017-01-20 23 views
0

Имеет ли 1000 кубических вокселей в gpgpu shader, 1bn булеан, использует около одного гигабита памяти?Максимальный размер булевого массива для открытия вычислительного шейдера?

Страницы с ограничениями ресурсов не содержат никаких ограничений по индексу для 2-го и 3-го массивов в графических процессорах. Являются ли они теоретически в тысячах или в триллионах?

+0

Я обнаружил, что GLSL bool имеет одинаковые размеры, он имеет тот же размер, что и uint: 32 бит. возможно, он был оптимизирован с момента glsl 3.7 –

ответ

0

для вычислительной мощности> = 3,0 максимальные размеры сетки: 2147483647x65535x65535, , поэтому для покрытия должно быть предусмотрено любое одномерное массив размером до 2147483647x1024 = 2.1990233e + 12.

Я использовал массивы 1 миллиарда без проблем.

1,000,000,000/1024 = 976562.5 и округлять до 976563 блоков ... если threadIdx.x + blockIdx.x * blockDim.x> = количество элементов, которые вы возвращаете из ядра без обработки.