2016-02-10 7 views
1

В сообщениях this paper авторы говорят, что ширина коалесценции CUDA на графических процессорах NVIDIA в это время составляла 16 (стр. 3, последний абзац). Эта статья довольно старая, и я не мог найти эту информацию для новых устройств.Какова ширина коалесценции в последних графических процессорах NVIDIA?

Какова ширина слияния для последних графических процессоров NVIDIA?

ответ

4

Для 32-разрядных величин графические процессоры cc1.x той эпохи будут разбивать деформацию на два «половинных искажения» (1) и выдавать глобальную транзакцию для каждого полувращения. В основе деформации по-прежнему было 32 потока, но половина деформации составляла 16 потоков, и я предполагаю, что это число, из которого исходит 16 чисел.

Modern GPUs (cc2.x - cc5.x) выдает глобальные транзакции с полной шириной деформации, которая равна 32 (потокам). Если количество запросов на поток больше 32 бит, это будет разбито на несколько 128-байтовых транзакций, сколько потребуется для обслуживания основы.

Поэтому я бы сказал, что соответствующее число равно 32, но это будет зависеть от фактических данных, запрашиваемых в потоке.

Независимо от того, как данные фактически коалесцируются, является функцией адресов (генерируемых отдельными потоками), которые составляют транзакцию warp, в дополнение к просто «ширине».

(1): документация для cc1.x устройств не так удобно доступна, но excerpting из руководства по программированию для CUDA 5.0 для cc1.x:

F.3.2 Глобальной памяти Глобальной память запрос на деформацию разбивается на два запроса памяти: по одному на каждый полукарп, , которые выдаются независимо. Устройства вычислительной способности 1.0 и 1.1 и Устройства вычислительной способности 1.2 и 1.3 описывают, как доступ к памяти потоков в пределах полувращения объединены в одну или несколько транзакций памяти в зависимости от вычислительной способности устройства .

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

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