2015-03-18 6 views
0

Типичные графические процессоры сегодня в основном ориентированы на 32 бита. Хотя они могут делать двойную точность, ALU принимают в основном 32-битные целые числа, индексы потоков и размеры сетки 32-разрядные, а (я предполагаю) псевдо-указатели соответствуют 32-разрядным неподписанным физическим адресам.Адресация более 4 ГБ памяти GPU - как это работает?

Однако некоторые графические процессоры (Teslas, GTX Titans) поставляются с 6 ГБ, 8 ГБ, 12 ГБ памяти.

Хорошо, как это работает? Я имею в виду, можете ли вы обратиться за более чем 4 ГБ одновременно? Если да, то как? Можете ли вы сделать [i] = 123 с i, имеющим тип unsigned long int? Или это какая-то вещь, связанная с сегментами, как в старые добрые времена 8086 года? Или, может быть, каждое ядро ​​индивидуально может адресовать только 4 ГБ, но разные ядра могут адресовать больше?

ответ

1

Ну, оказывается, что указатели графического процессора (по крайней мере, в графических процессорах NVIDIA и, вероятно, в AMD также) являются 64-битными. Таким образом, нет проблем с адресацией 4 ГБ, 40 ГБ, 400 ГБ или 4 млн. ГБ. Только для 32-разрядных платформ может существовать устаревшая поддержка 32-разрядных указателей.

 Смежные вопросы

  • Нет связанных вопросов^_^