This Python 3.4 script performs a distributed single frame render for Blender Cycles, spreading the workload over locally available machines, or it can simply automate the process of rendering a frame on a single external machine. It benchmarks the remote nodes specified (and caches the results) to determine the number of tiles required to distribute the workload fairly. It can be interrupted and restarted without losing tiles already rendered.
I’ve been using this for a while (it’s under active development), but thought some others might find it useful at the current state of development.
It works on OS X, Linux and Windows, you can get it here:
>> normal start
>> checking if render nodes are responsive
>> benchmarking
using cached benchmarks for all nodes
1920 * 1080, frame 1 with seed 0 is split into 14 tiles, arranged as 7 * 2 distributed over 3 nodes
>> rendering
tile 13 issued to node 192.168.0.129
tile 1 issued to node 127.0.0.1
tile 7 issued to node 192.168.0.128
tile 1 retrieved from 127.0.0.1
tile 12 issued to node 127.0.0.1
tile 13 retrieved from 192.168.0.129
tile 4 issued to node 192.168.0.129
tile 12 retrieved from 127.0.0.1
tile 5 issued to node 127.0.0.1
tile 4 retrieved from 192.168.0.129
tile 8 issued to node 192.168.0.129
tile 8 retrieved from 192.168.0.129
tile 6 issued to node 192.168.0.129
tile 5 retrieved from 127.0.0.1
tile 10 issued to node 127.0.0.1
tile 6 retrieved from 192.168.0.129
tile 3 issued to node 192.168.0.129
tile 10 retrieved from 127.0.0.1
tile 0 issued to node 127.0.0.1
tile 0 retrieved from 127.0.0.1
tile 9 issued to node 127.0.0.1
tile 7 retrieved from 192.168.0.128
node 192.168.0.128 is idle but will not be issued with a new tile, waiting for a faster node to become available
tile 3 retrieved from 192.168.0.129
tile 11 issued to node 192.168.0.129
tile 9 retrieved from 127.0.0.1
tile 2 issued to node 127.0.0.1
tile 11 retrieved from 192.168.0.129
no more work to give to node 192.168.0.129
tile 2 retrieved from 127.0.0.1
no more work to give to node 127.0.0.1
>> result written to: composite_seed_0.png
>> tidying up
>> finished
node tiles mean duration (s)
127.0.0.1 7 772
192.168.0.129 6 853
192.168.0.128 1 4185
total time (s)
5415