Note on GPU we do would not rely on ATS for peer to peer. Some
of the GPU (DMA engines) do not necessarily support ATS. Yet those
are the part likely to be use in peer to peer.
OK this is good to know. I agree the DMA engine is probably one of the GPU components most
applicable to p2pdma.
We (ake GPU people aka the good guys ;)) do no want to do peer to
for performance reasons ie we do not care having our transaction going
to the root complex and back down the destination. At least in use case
i am working on this is fine.
If the GPU people are the good guys does that make the NVMe people the bad guys ;-). If
so, what are the RDMA people??? Again good to know.
Reasons is that GPU are giving up on PCIe (see all specialize link
NVlink that are popping up in GPU space). So for fast GPU inter-connect
we have this new links.
I look forward to Nvidia open-licensing NVLink to anyone who wants to use it ;-). Or maybe
we'll all just switch to OpenGenCCIX when the time comes.
Also the IOMMU isolation do matter a lot to us. Think someone
peer to peer to gain control of a server in the cloud.
I agree that IOMMU isolation is very desirable. Hence the desire to ensure we can keep the
IOMMU on while doing p2pdma if at all possible whilst still delivering the desired
performance to the user.