Hello,
I’m testing Redshift renderer for Softimage for some time now and it will probably be my main renderer for production.
But one think that I noticed is with scaling. When scenes are fairly simple 4x Titan GPUs renders frames in like 5-10 sec, faster than it takes to actually export scene for rendering.
In cases like this it is much faster to actually have 4 SI instances running, each using single… or 2 GPUs depending from case to case, instead of 1 SI instance using all 4 GPUs.
Attached images of what I have in mind.
Now on the topic. Would it be possible to have Deadline to start 2 or more instances of Softimage in this case, each with selected separate CUDA device/GPU.
For example, submit scene to Deadline and have No of running instances equal to number of GPUs in the system or manually added number.
So system with 4 GPUs could run 4 tasks at once each using single GPU, or 2 tasks at once each using 2 cards.
System with 2 GPUs could start 2 instances each using single GPU or 1 instance using both.
Settings which CUDA device is active and used for rendering are saved in redshift preference xml file. There is option to have multiple of those preferences, each with diference CUDA device selected, if that helps at all.
As guys on Redshift forum explained:
General Info
Redshift sets the GPU(s) it will use at plugin initialization based on the settings in the preferences xml file.
This file, by default, is read from %ALLUSERSPROFILE%\Redshift\preferences.xml (C:\ProgramData\Redshift\preferences.xml on Win 7 and Win 8).
The full path of the preferences file can be customized by setting the REDSHIFT_PREFSPATH environment variable.
So, in order to have 2 instances of XSI running each using a different GPU, you can create custom preference xml files and set the REDSHIFT_PREFSPATH environment variable prior to running each instance of XSI/Maya.
Example
In this example, I will assume you have 1 GTX TITAN and 1 Quadro K5000. If you open your default preferences.xml, you will see something like this:
Now make 2 copies of the file, let’s call them TITAN.xml and K5000.xml.
Edit TITAN.xml to look like this:
and K5000.xml to look like this:
<?xml version="1.0" encoding="UTF-8"?>Now, to run an instance of XSI/Maya which will use your TITAN, you just need to make sure REDSHIFT_PREFSPATH is set to “%ALLUSERSPROFILE%\Redshift\TITAN.xml”. Similarly, to launch an instance of XSI/Maya that will use the K5000 to render, set REDSHIFT_PREFSPATH to
“%ALLUSERSPROFILE%\Redshift\K5000.xml”. Again, I’m not 100% how this is done with Royal Render, but if you wanted to render in XSI directly from the command line, you could do this:
set REDSHIFT_PREFSPATH=%ALLUSERSPROFILE%\Redshift\TITAN.xml
xsibatch -render myscenetorenderontitan.scn
set REDSHIFT_PREFSPATH=%ALLUSERSPROFILE%\Redshift\K5000.xml
xsibatch -render myscenetorenderonk5000.scn
Does any of this makes any sense?
Thanks