I'd like to get more PCIe bandwidth for GPU compute applications. It occurred to me that PCIe bidirectional links are really dual simplex (a pair of unidirectional links). That means if there's no data to transmit in 1 direction, 1/2 the links are idle!
So, my question is obviously, why not allow the links to be bidirectional (half-duplex)?
I can't think of any other networking physical layer that's bidirectional, except I2C and Wifi, which I doubt can reach GhZ speeds. Is high speed incompatible with bidirectionality?
I did think of a high speed bidirectional interface: a memory bus. XDR memory uses differential signaling and claims 20 Gbits/s per pin! Why does it work for memory but not for PCIe?