Hyperthreading

   10907   7   2
User Avatar
Member
3 posts
Joined: July 2005
Offline
Is H using Hyperthreading. I get only 50% CPU usage during mantra render on a PIV 2.4 GHz.
User Avatar
Member
4140 posts
Joined: July 2005
Offline
Assuming you're just doing a straight render, no it should show 100% usage. You don't mention your OS - Windows? All OS's have some trouble giving accurate measurments of cpu usage, and there are all sorts of reasons why any given render will have varying cpu usage - loading maps and data and your interactive session competing with the render, for instance.

and I'll assume you're not running a dual cpu system…

Cheers,

J.C.
John Coldrick
User Avatar
Member
3 posts
Joined: July 2005
Offline
It was because of the -n option to mantra. I set it to 2 and both cpus are working, guy cleared that up for me on odforum.

Thanks for having interest in my problem.
User Avatar
Member
48 posts
Joined: July 2005
Offline
Since Hyperthreading is only using one CPU you don't gain any performance by splitting Mantra into two processes. I did some speed testing on XP Pro with and without Hyperthreading and Without was a tad faster (probably due to less overhead).

It is standard for CPU usage to only show 50% if you are running one process on a Hyperthreaded enabled PC. It IS using all the CPU power.

Robert
Adtech Communications Group
User Avatar
Staff
5285 posts
Joined: July 2005
Offline
Hyperthreading is a nice feature, but it's nowhere close to ‘having a 2nd CPU’ as Intel would have you believe. Think of it as having another fifth of a CPU.

Having said that, hyperthreading increases the traffic from memory to CPU, and on older Hyperthreaded CPUs, this wasn't optimized very well. These CPUs kept getting starved for memory accesses, which made the feature slow down processing. Only P4 Xeons and the 3.06Ghz+ P4s seem to have enough bandwidth to make this feature fly.

I've done some tests with Halo and hyperthreading on Linux, and come to the basic conclusion that you should always set the # of threads to twice the number of real CPUs when hyperthreading is on (on Linux, this will be detected for you). Otherwise, the processor scheduling seems to fight against the CPU cache, and you lose a bit of performance.

So, on Linux, try mantra -n 2 for a single HT proc system, and mantra -n 4 (or 3) for a dual HT system. Linux will schedule these processes on all 2 (single) or 4 (dual) logical processors.

But, don't expect more than about a 20-30% performance increase for your trouble.
User Avatar
Member
5 posts
Joined: July 2005
Offline
twod
So, on Linux, try mantra -n 2 for a single HT proc system, and mantra -n 4 (or 3) for a dual HT system. Linux will schedule these processes on all 2 (single) or 4 (dual) logical processors.

But, don't expect more than about a 20-30% performance increase for your trouble.

In XP Pro how would I set it up to render on my dual xeon system with hyper threading. Where does this -n 4 go?
User Avatar
Staff
5285 posts
Joined: July 2005
Offline
In the Mantra output driver, find the “Render Command” parameter (about halfway down in the first tab). Add the “-n 4” to the render command like so:

mantra -n 4

and it'll spawn 4 mantras. This also consumes 4 mantra licenses.
User Avatar
Member
5 posts
Joined: July 2005
Offline
twod
In the Mantra output driver, find the “Render Command” parameter (about halfway down in the first tab). Add the “-n 4” to the render command like so:

mantra -n 4

and it'll spawn 4 mantras. This also consumes 4 mantra licenses.

It uses 4 licenseces?! This is just the render license right? Does the linux version force you to have 4 licenses to use all of the processors?

Edit:

That is wierd. I only have one license available to me after looking at the License Administrator for rendering. I assume thats the license for mantra. But I put in the -n 4 flag and its going full blast. Not complaining though, its now rendering so much faster. I was afraid I'd have to go use a single processor workstation at school instead. Thank goodness it works.
  • Quick Links