Будет ли репликация глобальных данных на устройстве, совместимом с OpenCL, улучшать производительность?

У меня есть довольно маленький набор данных, но достаточно большой, чтобы он не помещался в рабочем пространстве или в личной памяти любого графического процессора, представленного на рынке. Это означает, что каждое ядро ​​должно получать доступ к данным в глобальной памяти на графическом процессоре. Если я реплицирую эти данные на несколько копий в глобальной памяти, может ли это повысить производительность или уменьшить задержку, или контроллер памяти ограничит и позволит только одному ядру одновременно получать доступ к глобальной памяти? Если это зависит от устройства, есть ли модели, которые имеют эту функцию?

1 ответ

Решение

Это очень сильно зависит от контроллера памяти видеокарты, и несколько копий одних и тех же данных вам не помогут. Я не знаю о GPU, имеющем более одного контроллера памяти для глобального доступа.

Ваша схема доступа к памяти сильно повлияет на общую пропускную способность вашего ядра. У вас есть конкретный пример / ядро, которое вам нужно оптимизировать?

Другие вопросы по тегам