Is it possible to do this and how to achieve it?
I have 2 processes ProcessA ( internal software) Process B (Unreal) 2 nvidia quadro gpus with and nvlink, lets call them GPUA and GPUB.
I want to reserve a gpu for each process. So ProcessA on GPUA and ProcessB on GPUB and be able to copy directx textures from ProcessA to ProcessB through the nvlink. Is this possible?
I know that ion directx12 there is explicit multi GPUs and that there is 2 modes, linked gpus and unlinked gpus.
Solution 1
I am pretty sure that enabling SLI in the nvidia control panel will put the 2 adapters in linked mode and the 2 gpus will appear as 1 adapter ( IDXGIFactory1::EnumAdapters1). Which will make it hard or impossible to force each process to stay/use only 1 of the gpu cards.
Solution 2
I can also do it using unlinked adapters, I just have to deal with 2 devices. The thing is I don’t know how to make sure that when I copy resources from ProcessA ( GPUA) to ProcessB (GPUB) that it will use the nvlink.
Anybody have info on if any of the solution are possible and how? Or any other suggestion?
Thanks a lot!