Jump to content
Johan

CPU usage questions

Recommended Posts

Hi all,

If my processor is simming and all cores are used but they are not utilized 100% does that mean the processor is waiting for the RAM to be available?
Might the ram be too slow to catch up or is that the wrong way of thinking about it? (There's enough free RAM left in this sim).

I saw when I lowered separation I can get the CPU usage up to 100%, but at some loads it's not using it fully. Trying to understand if my RAM is too slow, or if it's something normal.

Thanks!
-Johan

Share this post


Link to post
Share on other sites

Hi Johan,

Not all phases of simulations are completely threaded (due to vastly different algorithms being used for each) and this would account for the not-quite-100% utilisation at all times. I don't believe the speed of your memory would not affect this, at least not in an appreciable way. There are some switches you can flip to use different algorithms that multithread more easily but that doesn't always result in faster simulations. (e.g. FLIP projection method)

  • Thanks 1

Share this post


Link to post
Share on other sites

Hi Jason,

Thanks for for your answer, that sound like that makes sense. I've just bought and build a threadripper system and so far I'm very happy with it, it's just that I'm not sure I bought the right RAM modules. I got a decent deal on a 3200Mhz/128Gb kit and from what I gathered on the internet it would work fine. And it does, the only weird thing is that when I disable the XMP profile on the motherboard/ram it goes to 2133Mhz and the performance differences are negligible in benchmarking. So I was looking at a sim and noticed the utilization of my cpu not being 100% in all sim cases, I was wondering is this mem kit bottlenecking my CPU.
It's quite hard to find a definitive answer on this, but what you say does make a lot of sense for Houdini related performance.

If you have anymore mem/cpu insights I highly appreciate them!

Cheers,
-Johan
 

 

 

Share this post


Link to post
Share on other sites

Yeah, if you do some heavy renders (lots of texturing, lots of geometry) with Mantra or Karma, you'll see an application that is well multithreaded and probably get to test your memory performance with more accuracy than with simulation. Mantra/Karma are "trivially multithreaded", meaning every camera ray can be thought of as a little program and uniformly executed in a separate thread in a rinse&repeat pattern. There are shared memory caches and such but those have been well tuned for multithreaded access. Simulation has gnarlier phases that often require traversing the simulation data in different ways, and some of those methods are harder/less effectively multithreaded, but still might be interesting to use as benchmarks due to that very reason.

To test memory properly, however, use a dedicated benchmarking program that tests different memory access patterns. How those benchmarks apply to real-world programs is rather dependent on the program in question, of course.

  • Thanks 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×