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