Render performance issue single frame/frame range

   9573   15   3
User Avatar
Member
7 posts
Joined: Sept. 2010
Offline
Hey everyone,

I am experiencing something weird here. I am using mantra to render a 2000 frame scene. When I render a single frame (any frame) with interactive preview in mplay, my 24 intel cores will be 99% busy. But if I change it to render my desired frame range without preview, directly to a .hip image sequence, I get an average of 60% CPU usage. I tried all kinds of settings in Houdini without any success.

12 out of the 24 cores seem to get loaded correctly but the remaining 12 are bouncing from 0 to 70% all the time. Rollercoaster-like.

Does anybody know what's going on here? I'm in production right now and have to lower quality settings atm to meet my deadline…

Thanks in advance,
Bodo Schütze
User Avatar
Member
330 posts
Joined: July 2007
Offline
this is how i do rendering and try to get most of processing power when timing is important :

- generate IFDs first .

- depending on my scene , i start 2 or 3 or whatever number of mantra renders simultaneously till i see the ‘rollercoaster’ become a straight line on processor 's graphs ( 100% ) . eg: if i have 300 ifds , render those in segments with each mantra process .. , , .

- wait or do something else while babysitting mantras



hope this helps
except the things that cannot be seen , nothing is like it seems .
User Avatar
Member
7 posts
Joined: Sept. 2010
Offline
Thanks for the idea, Zarti.

Unfortunately I only have one mantra render token which means that I can only run one instance of mantra at a time. I enabled IDF building, but that doesn't change render performance.

What I noticed when playing around with the mplay viewer is, that the initial load is at 90+ % until the first tiles are processed. Then it just does not give correct jobs to more than 12 cores. When I manually double click in the interactive mplay window, it will give jobs to all cores but stagnate as soon as those tiles are done. Very annoying!

In any way I'm trying I do not get higher than 60% on average. Is this some kind of Apprentice HD restriction?

As soon as I get physical access to the workstation, I will try to disable Hyperthreading..

Is this a common problem?
Edited by - June 6, 2012 10:39:18
User Avatar
Member
76 posts
Joined: Sept. 2011
Online
interactive rendering uses raytracing, so the time differences might be a result of the differences between raytracing and micropolygon engines.
User Avatar
Member
76 posts
Joined: Sept. 2011
Online
You could also try adjusting the number of threads parameter on the mantra rop
User Avatar
Member
7 posts
Joined: Sept. 2010
Offline
Thanks jkunz07,

I am using PBR and have also tried setting the number of used cores to 24 manually. No difference unfortunately.
User Avatar
Member
606 posts
Joined: May 2007
Offline
Also, your computer probably only has 12 full CPU cores + 12 Hyperthreading pseudo-cores. If you have 12 fully occupied cores, the less-than-100% usage of the remaining cores doesn't necessarily mean that the end render times are affected to the degree you might expect from the percentages alone.

You would need to measure with a wall clock to be certain.
User Avatar
Member
7 posts
Joined: Sept. 2010
Offline
Hey eetu,

you are right, I am using 2 six core xeons with hyper threading. Still, I find the behavior strange. See attached image. (simple colors due to remote control..)

Attachments:
mantraCPUload.jpg (870.4 KB)

User Avatar
Member
7722 posts
Joined: July 2005
Online
Some passing thoughts:
- Try rendering directly to file instead of “ip” for your output picture
- The render preview uses raytracing. Make sure your Mantra ROP is also set to raytrace
User Avatar
Member
7 posts
Joined: Sept. 2010
Offline
Hey Edward,

thanks for your reply.

In deed I am rendering to .pic file sequences and of course all mantra settings are thoughtfully chosen.

I just noticed that when using the ip output, the first lets say 30 seconds of rendering are occupying all cores properly, before averaging at 50-60%. The other option (sequence) never reaches those values. And most of the time 5 or 6 cores don't even get a job..

I will do some experiments with other render engines on the workstation soon.

Bodo
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
With 12 cores you dont exactly need hyper threading turned on but you will want lots of ram. I use 48gigs.
I would also second what Edward says rendering to IP is an overhead you can cut. I tend to write out my IFD's first and then from a shell batch render the scene without even having Houdini open.

Rob
Gone fishing
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Agree with all the comments above.

ifd generation and the first part of the Mantra render pipeline where geometry is created and cut up is not fully threaded at this time. That is probably accounting for some of the latency. All other parts of the pipeline in Mantra are threaded.

If you have the memory and you are finding that many cores sit idle for most of your rendered frame, you can try rendering two images at a time to better utilize the cores…
There's at least one school like the old school!
User Avatar
Member
257 posts
Joined: Nov. 2010
Offline
jeff
If you have the memory and you are finding that many cores sit idle for most of your rendered frame, you can try rendering two images at a time to better utilize the cores…

Hope I dont sound silly… can this be done with non-commercial license?

eitht.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
As for generating ifd's first and then rendering mantra from the command-line, I believe that feature is disabled.

As for firing up two Houdini's and one rendering the first part of a sequence and the second Houdini firing the second part of a sequence, more than do-able. You can run as many Houdini processes as you want as it is licensed per workstation. Mantra on the other hand is licensed per proc and I don't remember how many Mantra licenses are installed on each workstation. Give it a try and see if you can run multiple renders at the same time.
There's at least one school like the old school!
User Avatar
Member
7 posts
Joined: Sept. 2010
Offline
Hey,

I tried to run two mantra sessions simultaneously but get an error. My license only allows one Mantra job at a time..

This weekend I will finally get back to the workstation and will deactivate hyperthreading (I thought it would increase render performance by up to 25% -it does in Cinebench 11.5).

Other than that, I will just have to reduce overall resolution to 720p from now on. Let's see how that will go.

Bodo
User Avatar
Member
7 posts
Joined: Sept. 2010
Offline
After some comparative rendering, I calculated an average gain in render speed of 16% with activated hyperthreading -even when the Windows Taskmanager states a mere 60% CPU load and some cores seem inactive.

Best,
Bodo
  • Quick Links