Отправка одних и тех же данных на N графических процессоров

У меня есть 4 графических процессора, подвешенных к одному коммутатору PCIe (PLX PEX 8747) в системе на основе Haswell. Я хочу отправить одни и те же данные на каждый графический процессор. Возможно ли, чтобы коммутатор PCIe реплицировал данные на N целей, а не выполнял N отдельных передач? Действительно ли можно передавать данные на N графических процессоров по шине PCIe?

Мне было интересно, как SLI/Crossfire справились с такими проблемами? Я могу представить, что большие объемы данных идентичны для каждого графического процессора в данной отображаемой сцене. Помнится, я где-то читал, что старая система NVIDIA 890 Ultra SLI включала этот широковещательный механизм в переключатель для SLI.

http://www.nvidia.com/docs/IO/52280/NVIDIA_Broadcast_PWShort_TB.pdf

Возможно ли это с более новыми коммутаторами PCIe?

Обновление: похоже, что стандарт PCIe поддерживает многоадресную рассылку, как указано в ответе ниже. Я нашел некоторую информацию об этом на

www.pcisig.com/developers/main/training_materials/get_document?doc_id=31337695e3bc0310ea570c9df49e507b9d3eb4a5

Да, я специально хотел использовать интерфейс CUDA или OpenCL для передачи данных на N устройств. Жаль, что API еще не поддерживает это.


person ShaneCook    schedule 05.11.2013    source источник
comment
Для этого нет API CUDA. Если ваш вопрос не о CUDA, удалите тег CUDA. В противном случае я опубликую это как ответ.   -  person Robert Crovella    schedule 05.11.2013


Ответы (1)


PCI-e SIG ратифицировал схему многоадресной рассылки на уровне коммутатора через PCI-e около 5 лет назад, и она (я полагаю) полностью описана в стандарте PCI-e 3.0. Тем не менее, я не верю, что какой-либо из поставщиков графических процессоров/ускорений еще не поддерживает многоадресную рассылку, и, конечно же, нет поддержки API уровня CUDA для такой функции, как в CUDA 5.5.

person talonmies    schedule 05.11.2013
comment
Я почти уверен, что драйверы NVIDIA в некоторых случаях используют многоадресную рассылку (например, рендеринг с несколькими графическими процессорами), однако, насколько я знаю, нет открытого API, позволяющего воспользоваться преимуществами, предоставляемыми NVIDIA. Голосование, так как этот ответ правильный и полный, на мой взгляд. - person Robert Crovella; 06.11.2013