Hello Everybody,
does somebody know, if Spout texture sharing only works with a single GPU?
I tried with two P4000 and GPU Affinity, but only one texture is shared.
Or is there a special workflow to enable this?
Thanks,
d
Hello Everybody,
does somebody know, if Spout texture sharing only works with a single GPU?
I tried with two P4000 and GPU Affinity, but only one texture is shared.
Or is there a special workflow to enable this?
Thanks,
d
texture sharing (which Spout uses) only works within a single GPU.
And copying a texture from one GPU to the other is painfully slow in any way.
This has been the case until the recent introduction of NVLink, which allows 300 GB/s communication in between recent quadro cards, especially those with HMB2 memory. This is theoretically possible now, and I’m actually interested in the concept myself. IE, I have an RTX 6000 rendering 16x screens, but it’d be great to have scenes rendering on a seperate rtx 4/6/8000 in the same physical machine by sharing the final texture. This would allow for same frame synchronization of extremely complex scenes mapped onto huge number of surfaces in real time.
But NVLink is not supported in TD, just like SLI could not be supported.
Yes, isn’t currently supported. I suspect you could use CUDA in a C++ TOP to implement this (with either NVLink or generic PCI communication, since CUDA seems to abstract that part away), though. Hoping to do some research on this soon - maybe Derivative crew can tell us if they know of any hard technical issues that would stand in the way?
You could try NDI across processes. Might sound crazy, but I’ve been surprised how efficient it is. As long as you can deal with some compression artifacts and a little extra latency.
Would be very curious about a CUDA implementation of multi-GPU texture sharing, or whatever Nvidia SDK would allow that.