我在基于Haswell的系统上的同一个PCIe交换机(PLX PEX 8747)上挂了4个GPU。我想将相同的数据发送到每个GPU。 PCIe交换机是否有可能将数据复制到N个目标,而不是进行N次单独传输?实际上是否可以通过PCIe总线向N个GPU广播数据?
我想知道SLI / Crosssfire是如何处理这些问题的?我可以想象,在呈现的给定场景中,每个GPU的大量数据完全相同。我记得读过一些旧的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尚不支持这一点。
答案 0 :(得分:3)
PCI-e SIG大约5年前批准了PCI-e上的交换机级多播方案,并且(我相信)在PCI-e 3.0标准中有充分的描述。但是,我不相信任何GPU /加速器供应商都支持组播,并且肯定没有任何CUDA级API支持CUDA 5.5这样的功能。