6
$\begingroup$

I have a server with an Nvidia GPU card and I want to render my images using Cycles on it. I set up Master and Slave instances on the server and a Client instance on my laptop.

The rendering works, but the server renders the net tasks on CPU, instead of GPU.

If I just run Cycles render locally on the server - GPU works. If I run a client on the server itself and before switching to the netrender choose "GPU Compute" in the render properties - GPU works.

But I cannot select "GPU Compute" on my laptop, because there is no Nvidia GPU card on it.

How do I force the netrender to use GPU instead? Also, is it possible to use different tile sizes for the local render and the netrender, as switching them from preview to final render is too tedious every time.

$\endgroup$
5
$\begingroup$

Network Render plugin does not have this functionality.

Render the scene remotely via the command line. You can run your own script with it to set proper rendering device or render tile-size.

blender -b file.blend -E CYCLES -t 0 -o //file -P script.py

In the script.py:

import bpy

bpy.context.user_preferences.addons['cycles'].preferences.compute_device_type = 'CUDA'
bpy.context.user_preferences.addons['cycles'].preferences.devices[0].use= True

bpy.context.scene.cycles.device = 'GPU'

bpy.context.scene.render.tile_x = 256
bpy.context.scene.render.tile_y = 256

bpy.ops.render.render(write_still=True)
$\endgroup$
  • $\begingroup$ So I have to copy my blend file to the server and copy the result back after rendering by hand. That is not what I expected from the Network Render.... $\endgroup$ – galadog Apr 15 '15 at 17:09
  • $\begingroup$ @galadog well yes, you are right. That's the manual way, but you can automate that also with bash for example or with some other code (to distribute the blends and to set the frame ranges automatically). and have all the servers render to the same network location where you will collect the frames. $\endgroup$ – Jaroslav Jerryno Novotny Apr 15 '15 at 17:46
  • 3
    $\begingroup$ A forked network render addon has the ability to overwrite computing device on each slave. See github.com/WARP-LAB/Blender-Network-Render-Additions for the addon. So it is even possible with this to render simultaneously on CPU and GPU. $\endgroup$ – HCW70 Jul 7 '16 at 8:31

protected by Community May 29 at 22:36

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.