How do you specify where programs run when you have 2 individually connected GPU cards?

Hey there, So I recently bought a second RTX3060 12gb to add to my rig and have everything working correctly; other than the fact that the programs I launch only seem to use the video memory of the first card. (With exceptions of specific programs that are designed to run an all at once.) I don’t mind that the cards don’t share memory between them, but I’d like to at least assign what programs use what GPU.

I’ve looked around the internet and it seems like Nvidia handed over Graphics processor handling to windows at some point 2019, But I can’t seem to even get options going that route. Windows can only differentiate integrated graphics and singular dedicated graphics cards through a “low & High power” setting.

So I have a goal that I know is theoretically possible, and wanted input on the topic. My current roadblock is, I can’t specify which GPU a program will try to use for VRAM.

The Goal: To get Oculus Link server, client apps and steamVR to run on a secondary GPU.

  • So basically Oculus Link uses an onboard USB port, either type A or C as a visual communication line via serial connection. The data never comes out the backside of the GPUs and instead is rendered on the GPU, and crunched by the CPU to be sent out the USBC3.0 or Via ethernet cable for people with air link.
  • Alternatives: If I can’t get VR stuff to work on the secondary GPU, (Which would be amazing because windows.), Then I would at least like it so all my other basic programs can be dedicated to a specific GPU’s memory.

Things I’ve tried:

  • Going to windows settings> display> graphics > Set preferred device > (only two options both have no change in memory usage)
  • Going through Nvidia control panel, trying to activate the “Run with graphics processor” option, TLDR. it no longer exists.
  • Running each program on a separate monitor that utilizes the different GPUs. (Still prios the first gpu for memory, and only seems to use the second card for physX or rendering of the second display.)
  • Editing run functions of the programs themselves with various scripts like “-gpu 1” or “-force-device-index 1” (With mixed results DirectX programs seem to somewhat work, but I can’t seem to get it to work reliably.)
  • I’ve activated Nvidia GPU activity, and looked through the applications that are active, and can tell that even though Programs are hosted on the second screen the first GPU is still the one hosting said programs. This is congruent with the memory readings on windows task manager performance window.
  • I tried to contact Nvidia Live support, and they told me they have no idea. and told me to come here and ask for help.

Any input at all would be appreciated. This has been killing me for a while.

I can see the option in Nvidia control panel !

Mohamed.allem, IT seems like you misunderstand the question. and the use of that particular dropdown menu. That menu allows users with integrated CPU graphics to choose between either dedicated graphics and the onboard graphics. While what I am looking for is the ability to move programs between two separate gpus.

Just for reference, The option your displaying does not exist if, your cpu doesn’t have onboard graphics.
image