MultiBlend

This is a tool that I worked on back in 2006. It’s been superseded by Flamenco, a much more powerful tool that I co-developed as employee of the Blender Institute. The rest of this page stems from 2006.

Blender is a remarkable 3D modelling and animation program. There is one minor issue with it, though: it isn’t easy to use multiple computers on a network to render in parallel. That’s exactly what this program will do. It connects to multiple computers on your network, and lets Blender render in parallel on each. This will drastically improve your rendering speeds!

Multiblend is a standalone Python script that runs from outside Blender. This means you can even use it on machines that don’t have powerful graphics cards, like older computers or servers.

For the exact changes between releases, please read the changelog.

Download Multiblend 1.3

Usage

To give you a feeling of how Multiblend works, here is an overview of its usage.

  1. Make sure you can reach the computers via SSH.
  2. Set up the Multiblend configuration file.
  3. Run Multiblend.
  4. Have a cup of tea.
  5. Enjoy an improved rendering speed.

Read on for the details!

Configuring Multiblend

The configuration is read from /etc/multiblendrc and $HOME/.multiblendrc. Having just one of the two is fine, but you can also have both if you want. An example says more than words:

[main]
chunks=100
nodes=2
projectpath=/home/sybren/blender
ssh=/usr/bin/ssh -Tq
scp=/usr/bin/scp -q

[node0]
hostname=localhost
blender=/opt/blender-2.41/blender
workdir=/home/sybren/tmp

[node1]
hostname=zebra
blender=/opt/blender-2.41/blender
workdir=/tmp

Lines 1-6 describe the main section. Line 2 “chunks” contains the number of frames that make up a chunk. A single computer will get this number of frames in one run. Line 3 “nodes” contains the total number of computers you want to use to render. Line 4 “projectpath” contains the local path of your Blender project. Lines 5 and 6 “ssh” and “scp” are set to your SSH and SCP client. You probably don’t need to change them.

Lines 8-11 describe node0, the first computer to use. Line 9 “hostname” reflects the hostname or IP address of the computer on your network. In this case, it’s a special one - because it says “LOCAL” Multiblend won’t connect to it using SSH but simply run Blender locally. Line 10 “blender” points to where Blender is installed on this computer. The last line “workdir” tells Multiblend where the temporary files can be stored on the node.

The last lines, 13-16, describe another computer. You can add as many of them as you want, numbering them node2, node3, etc.

Running Multiblend

Let’s assume that your installation is the same as mine (tough chance, but I have to pick something as an example) and your Blender file resides in /home/sybren/blender. Let’s render the first 1200 frames of the file called test.blend. This is how that’s done:

python multiblend.py -b test.blend -s 1 -e 1200

This will run Blender on all computers in the configuration file. It keeps running until the animation is rendered completely. If you want to stop prematurely, press Ctrl+C.

Setting up the network

The first part - reaching your computers via SSH - is beyond the scope of this document. If you need help with this, just ask me for help. You do need to ensure that you can use SSH without passwords, though, since Multiblend doesn’t know your passwords. Read the manual pages for ‘ssh-keygen’ and ‘ssh-copy-id’ for that if you don’t know how to set it up.

MultiBlend Changelog

Tool to render with Blender using multiple machines on a network.