Page History
This page introduces and provides information on setting up explains the essence of Distributed Rendering with V-Ray.
Overview
...
Distributed rendering is a technique for distributing a single render job within a single frame across many computers in a network. There are different approaches to doing this, but the main concept is to reduce the render times by dividing different parts of the rendering pipeline and giving each participant different parts of the job.
...
type | note |
---|
...
Organization
...
V-Ray divides the frame into regions and spreads them across the participants in the distributed rendering. This is done completely through TCP/IP protocol which is the standard protocol of the Internet and thus the most common protocol that is supported by the hardware. V-Ray itself does not need an additional file or directory sharing (note that you may actually need some file/directory sharing for the bitmaps or other additional files used during rendering). The distribution management is divided into Render Clients and Render Servers.
UI Text Box | ||
---|---|---|
| ||
To use V-Ray distributed rendering you need to have both V-Ray for 3ds Max and Autodesk 3ds Max installed on both the render client and the server machines. When using the V-Ray GPU render engine, а V-Ray Standalone (or V-Ray for 3ds Max) installation is sufficient for each server machine. |
Render Clients
The render client is the computer from which the rendering is started. It divides the frame into rendering regions and spreads it across the Render the Render Servers. It distributes data to the render servers for processing and collects the results.
UI Text Box | ||
---|---|---|
| ||
Every render client requires a render node license. To see how to set up your render license, see the Licensing. |
Render Servers
A render server is server is one of the computers in the network that does participates in the rendering work. A render server requests render data from the render client, processes it, and sends the result back. In any DR job, there can be many render servers.
If any of the servers fails, you should get a notification and the render client will try to reassign the buckets to another server.
UI Text Box | ||
---|---|---|
| ||
Distributed Rendering is performed differently depending on the Distributed Rendering setup for the render server machines is set accordingly to the preferred V-Ray renderer. V-Ray requires vrayspawner V-Ray DR spawner to be run on the render server machinemachines, while V-Ray GPU requires V-Ray GPU Render Server or V-Ray Standalone (with server command). |
...
) |
...
2. Set up the Render Client. In the V-Ray for 3ds Max interface, enable Distributed rendering from the Settings tab under the System rollout. Use the Render Server button to add the IPs of all your Render Servers.
Step by Step V-Ray GPU DR Setup
V-Ray GPU can run on one or more CUDA enabled graphics cards. The GPU devices must be selected before initiating the distributed rendering on each server machine. To specify which cards to use, go to Windows Start > Programs > Chaos Group > Select devices for V-Ray GPU rendering of each render server machine and pick.
UI Text Box | ||
---|---|---|
| ||
By default, the render server machine will use all its graphic cards in CUDA DR rendering, if nothing was specified beforehand. |
1. Set up the Render Servers. You can do this in two different ways: (This step is not required if the server machine uses V-Ray server as service)
a. Start the render server on each server machine from Start menu > Programs > Chaos Group > Launch V-Ray GPU Render Server for 3ds Max ####.
b. Start the V-Ray Standalone and enter the "vray -server" command in the command prompt.
2. Set up the Render Client. In the V-Ray for 3ds Max interface, bring forth the Render Settings and in the Performance tab under the Distributed Rendering rollout switch On. Use the Render Server button to add the IPs of all your Render Servers.
TCP/IP Port Numbers
Distributed rendering works over TCP/IP and requires the following ports:
...
Port 20205 is only used by render servers to broadcast a message that they are ready to join an ongoing DR rendering.
V-Ray Standalone when set as render server receives rendering requests on port 20207 by default.
V-Ray DR Spawner command line options
You can add command line options to the VRaySpawner.
Numa options
You can specify Numa command line options to VRaySpawner.exe to better utilize processor nodes with Numa architecture:
...
...
. |
Check how to Set Up V-Ray Render Service
Check how to Set Up Distributed Rendering
Example: Using 3ds max #### and a system with 8 NUMA nodes:
Code Block |
---|
vrayspawner####.exe -numa |
spawns eight 3dsmax.exe processes, every running on single NUMA node and using listening ports 20204-20211
Code Block |
---|
vrayspawner####.exe -numa=4 |
spawns four 3dsmax.exe processes, every running on two NUMA nodes and using listening ports 20204-20207
Code Block |
---|
vrayspawner2020.exe -node=3,5,6 -ports=30000,40000{{}} |
spawns three 3dsmax.exe processes, running on NUMA nodes 3,5 & 6 and using listening ports 30000, 40000 & 40001
Code Block |
---|
vrayspawner2020.exe -node=2,3,4,5,6 -numa=3 |
spawns three 3dsmax.exe processes, running on nodes (2,3) (4,5) & (6) and using listening ports 20204,20205 & 20206
...
Notes
...
Fancy Bullets | ||
---|---|---|
| ||
|