Jump to content

[H13, Mantra] Low to no speed gain with Network/Distributed rendering

Recommended Posts

Hey guys,


i just found out, that it's possible to let several machines render on the same frame over the network with Mantra, similiar to VRay Distributed Rendering for example.

I tested it out and it seems to work. The render statistics explicitly list the different machines and their contribution in percent.


One thing though seems a little strange: I encounter no performance boost.


Instead of doing more work in the same timeframe, Mantra seems to just distribute the existing work. The satelites, as well as my own machine, dont run at 100%

but at 30% instead. If i turn of -H, my machine runs at 100% again.

I have "Use Max Processors" turned on. Also tested around with the tiled render options....


Anybody any ideas? A VRay DR equivalent in Mantra sounds pretty awesome :)

Link to comment
Share on other sites

Thx, cool infos there! But let me give you some pictures to clarify my issue:


Mantra rendering locally. All available CPU power is used:



Mantra rendering on 2 slaves and the localhost. Each machine renders, but only with 30% power...



So in effect i'm gettin the job done in the same time, just much more relaxed for each machine. What i would expect instead is to get the job done about 3 times faster...

Link to comment
Share on other sites

Houdini 13.0.401

I'm testing with PBR as render engine.


System Specs:

Platform:                 windows-x86_64-cl17
Operating System:         Windows 7 Service Pack 1 x64 (6.1.7601)
Number of Cores:          32
Physical Memory:          63.96 GB
OpenGL Vendor:            NVIDIA Corporation
OpenGL Renderer:          Quadro K5000/PCIe/SSE2
OpenGL Version:           4.3.0
OpenGL Shading Language:  4.30 NVIDIA via Cg compiler
Viewport Render Version:  GL 3.3
Detected:                 NVidia Professional
                          4096 MB
Edited by timmwagener
Link to comment
Share on other sites

Hey guys,

Can you post readout when you increase the verbosity?


here are the logs:


With and without -H.

Here is the scene.


My guess is that there's extra locking involved in the distributed communication that nullifies the benefits for your particular scene.


What exactly do you have in mind there? Other distributed services, like VRay DR for example, are running well within the network.

Link to comment
Share on other sites

Hey guys,


now i'm encountering another issue. I have a scene which only consists of Alembic files and a super simple material (just a shader builder and a surfacemodel) and

when network rendering i'm getting visible tiles in all AOVs. Any ideas?


Link to comment
Share on other sites

that most likely means one of your hosts isn't rendering - additionally you may have to restart hserver.


Just try Mantra -H on each individual host to see which one is failing.

Link to comment
Share on other sites

  • 3 weeks later...

I've noticed this at our offices since switching to H13 from 12.5. Distributed rendering used to be a huge performance gain, but now it seems to only use 8 of the 32 threads on my workstation, and I believe was hitting threading limits on the hosts as well. I haven't dug into it to find out what the issue is, but rest assured, you are not crazy.

Link to comment
Share on other sites

Try to use the newest production build. There's been a recent fix for distributed rendering which will use all available threads and not just 8.

We are getting the expected speed gains.


Some tips for distributed rendering to make it work better:

- if possible don't use the preview mode as that seems to break more often and forces you to restart rendering alltogether

- disable auto-update and refresh the rendering by hand ONLY when the rendering (or region) is done completely

- don't use an excessive number of remote hosts as this also fails more often


There are also some tips when working with alembics that might speed up the workflow:

- when using an alembic SOP the ifd generation and startup time for the rendering is quicker, but the geometry has to be updated each time you make a shader change which might take a long time and is a workflow breaker

- when loading the alembic as a node hierarchy the ifd generation takes longer but shader assignments, light tweaks etc. will be updated immediately

- be sure to not tweak your render settings once and then leave it as that also forces a full restart of the rendering

- when working on shading netwoks i found that creating new nodes and rewiring stuff only forces a recompile and then updates immediately in the rendering. When you copy and paste nodes however this forces a full restart of the rendering.


These are my experiences and I am curious to hear others.




Link to comment
Share on other sites

  • 8 months later...


We are running in some network errors with mantra dr on linux.


has been helpful but we still get 30s connection time out and other errors

mostly if we need to start the hserver on clients first.

Is there any way to change the timeout mantra tries to connect to -H clients?

Whats the best way to debug this?

Is there a way to see (in ip for example) how mant clients were sucessfully connected?

Thanks for your help

Edited by katisss
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...