Login | Register 
FEATURES
APPLICATIONS
DOWNLOADS
EDUCATION
BLOG
WIKI
FORUM
STORE

Assign TD to run on GPU with no monitors attached

Discuss graphics hardware, computer hardware, and input/output devices to use with TouchDesigner

Assign TD to run on GPU with no monitors attached

Postby zombience » Thu Oct 25, 2018 1:08 pm

Hi all,

Is there a way to designate TD to run on a specific GPU? I'm working on a multi-GPU system where I will be spawning multiple TD instances to handle several video device in streams. Each stream has a lot of GPU intense processing going on, and I'd like to have them run as compute processes on GPUs that have no outputs.

It seems that TD can sortof set GPU output by selecting which monitor to display on, which then processes the TD data on the GPU that this monitor is attached to.
I'm in a situation, however, where I have 5 GPUs but only one is connected to displays. The extra GPUs are intended to operate for compute power.

Has anyone done anything like this?
Thanks in advance!
User avatar
zombience
 
Posts: 24
Joined: Sun Aug 26, 2012 1:22 pm
Location: Chicago, IL

Re: Assign TD to run on GPU with no monitors attached

Postby zombience » Thu Oct 25, 2018 9:40 pm

I'm on a system using Quadro p5000 GPUs which have allowed me to set up a spoofed EDID.
I have done so for each GPU which does not have a physical monitor attached. I still am unable to get touch to use that GPU's resources.

I have tried both setting the perform window to auto-launch to monitor 2 (which is in this case one of the spoofed monitors), and I have also tried launching from the command line with the additional

-gpuformonitor 2

And, according to Task Manager, in both scenarios touch still consumes resources from GPU 0 rather than any other GPU, regardless of the fact that it successfully "displays" on this spoofed monitor.

Where else can I look to trouble shoot this?
User avatar
zombience
 
Posts: 24
Joined: Sun Aug 26, 2012 1:22 pm
Location: Chicago, IL

Re: Assign TD to run on GPU with no monitors attached

Postby nettoyeur » Fri Oct 26, 2018 7:18 am

The correct process is to use the command line option -gpuformonitor x

If you place a Monitor DAT you see an 'affinity' column for all monitors(or spoofed edids).
Use that to check you've set the correct id.

The process is explained here: https://docs.derivative.ca/Using_Multip ... nity_Usage
Idzard Kwadijk | freelance TouchDesigner consultant | IdzArd.com
Checkout ChopChopChop.org - the TouchDesigner marketplace!
nettoyeur
 
Posts: 1150
Joined: Mon Oct 15, 2012 12:00 pm
Location: Amsterdam, The Netherlands

Re: Assign TD to run on GPU with no monitors attached

Postby zombience » Fri Oct 26, 2018 9:50 am

Yep,
that's the page which led me to using the -gpuformonitor argument

When launching touch with that additional argument, Task Manager still shows touch running on GPU 0, even though touch is correctly launching on monitor 2 (a spoofed monitor on GPU 2)

I've attached the monitor file contents as an image to preserve the formatting
Attachments
monitor.PNG
monitor.PNG (18.58 KiB) Viewed 1822 times
Capture.PNG
Capture.PNG (9.44 KiB) Viewed 1822 times
User avatar
zombience
 
Posts: 24
Joined: Sun Aug 26, 2012 1:22 pm
Location: Chicago, IL

Re: Assign TD to run on GPU with no monitors attached

Postby nettoyeur » Fri Oct 26, 2018 10:52 am

hmm...Do you have nvidia Mosaic enabled by any chance which binds the gpu's already together? In that case disable it.
Idzard Kwadijk | freelance TouchDesigner consultant | IdzArd.com
Checkout ChopChopChop.org - the TouchDesigner marketplace!
nettoyeur
 
Posts: 1150
Joined: Mon Oct 15, 2012 12:00 pm
Location: Amsterdam, The Netherlands

Re: Assign TD to run on GPU with no monitors attached

Postby zombience » Fri Oct 26, 2018 10:56 am

I do have Mosaic enabled, but only on GPU 1
Unfortunately it is a requirement for this installation so I could disable it for testing but this needs to work with mosaic enabled due to the warping software we'll be using. This is a long term installation so manual warp/calibration isn't an option.
User avatar
zombience
 
Posts: 24
Joined: Sun Aug 26, 2012 1:22 pm
Location: Chicago, IL

Re: Assign TD to run on GPU with no monitors attached

Postby nettoyeur » Fri Oct 26, 2018 11:21 am

well if Mosaic is only applied to one gpu that should be ok I think.
but you say you have mosaic on GPU 1 and TD runs ons GPU 0?
Idzard Kwadijk | freelance TouchDesigner consultant | IdzArd.com
Checkout ChopChopChop.org - the TouchDesigner marketplace!
nettoyeur
 
Posts: 1150
Joined: Mon Oct 15, 2012 12:00 pm
Location: Amsterdam, The Netherlands

Re: Assign TD to run on GPU with no monitors attached

Postby zombience » Fri Oct 26, 2018 11:30 am

Correct, TD is running on GPU 0 regardless of what monitor I attempt to assign it to using -gpuformonitor n

In the Monitor Dat I've copied above, the mosaic GPU is GPU 4 although in Task Manager I don't see anything running on GPU 4 most of the time. Occasionally there is a system process but otherwise nothing.
User avatar
zombience
 
Posts: 24
Joined: Sun Aug 26, 2012 1:22 pm
Location: Chicago, IL

Re: Assign TD to run on GPU with no monitors attached

Postby malcolm » Fri Oct 26, 2018 2:46 pm

Offhand it feels like that -gpuformonitor argument isn't getting picked up. What happens if you set the value to 10? Do you get a dialog box saying it's out of range?
How are you giving the argument to TD? From the command line?
User avatar
malcolm
Staff
 
Posts: 4396
Joined: Tue Nov 13, 2007 1:11 am

Re: Assign TD to run on GPU with no monitors attached

Postby zombience » Fri Oct 26, 2018 3:27 pm

Yes, it appears that -gpuformonitor isn't getting picked up.

I'm launching from command line, yes, using the commands provided in the wiki to keep it straightfoward.

This doens't seem 100% consistent, but it does seem that if I move the cmd window to another GPU and launch TD from there, TD will run on whichever GPU is connected to the monitor that the command window was on when it launched TD. I'm still trying to find a consistent rule here, but not quite finding it. It is definitely still not behaving as expected
User avatar
zombience
 
Posts: 24
Joined: Sun Aug 26, 2012 1:22 pm
Location: Chicago, IL

Next

Return to Hardware

Who is online

Users browsing this forum: No registered users and 3 guests