Maya only using 11% of CPU when caching nParticles

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

REPLY TO THREAD
 
Thread Tools Search this Thread Display Modes
  12 December 2017
Maya only using 11% of CPU when caching nParticles

We recently bought a new computer with an Intel(R) Core(TM) i9-7940X CPU @ 3.10GHz, but for some reason when I try to either play or cache out my nParticles Liquid simulation it quickly falls from using about 20% of the CPU to just 10-12%. 

I've tried setting the priority of Maya to high in the Details panel of the Task Manager with no difference at all. 

Sometimes (as far as I can tell it's random) when I restart Maya it will use a higher percentage of the CPU but then the simulation is incorrect. The particles seem to spawn but after that are completely frozen. 


I'm fairly certain this all worked perfectly fine before the weekend because when I worked with the simulation then I didn't notice anything wrong. 

I'm using Maya 2017 Update 5. 

Does anyone know what this could be and how to solve it?

Last edited by Klirret : 12 December 2017 at 10:36 AM.
 
  12 December 2017
As much as I know, the nParticles (as any nDynamics) simulation is single threaded.
__________________
www.renderwiki.com - www.openmaya.net
 
  12 December 2017
Originally Posted by haggi: As much as I know, the nParticles (as any nDynamics) simulation is single threaded.
I see. So no matter how many extra cores you have, nDynamics will only ever be able to use one of them?

Just because I'm curious, is that to do with calculation accuracy or is there a different reason for why they've chosen to do it that way? 
 
  12 December 2017
Yes, indeed. The number of cores does not matter. Calculating particles and dynamics in parallel seems to be a quite complicated and very much easier to implement in a single threaded version. I suppose they have to rewrite large parts of the nucleus solver to make it multithreaded. And since not very much has changed in the last releases of Maya concerning nDynamics, I hope they're working on it .
__________________
www.renderwiki.com - www.openmaya.net
 
  12 December 2017
Originally Posted by haggi: As much as I know, the nParticles (as any nDynamics) simulation is single threaded.

      wrong.
 
  12 December 2017
Originally Posted by Onouris:       wrong.
Is there a different reason my computer only used 11% of its CPU then?
 
  12 December 2017
it's hard to tell without seeing the scene, but your concern seems to be about your cache right ?
In the cache node you have a "multi thread" option box ( wich is off by default) try it to see if it helps.

also on a general note about multi threading, sometimes it will work more or less effectively depending of the type of calculation. 
 
  12 December 2017
From the Using Parallel Maya paper:

Originally Posted by Autodesk - Using Parallel Maya: Dynamics Evaluator

Parallel evaluation in Maya 2016 only had limited support for animated dynamics. Although scenes with Bullet rigid bodies and Bifrost fluids evaluated correctly, legacy dynamics nodes (particles, fluids) and Nucleus nodes (nCloth, nHair, nParticles) disabled the Evaluation Manager, and reverted to DG-based evaluation on playback or manipulation.

Legacy dynamics disabled the EM because, in order to generate repeatable and stable results, they relied on evaluation rules that violated DG evaluation best practices. While these deviations from the safe path were accepted by the DG, once legacy dynamics were evaluated in Parallel, they created problems. The dynamics evaluator was originally created to detect these deviant node types and disable the EM, resorting to DG-based evaluation.

Since Maya 2016, the dynamics evaluator has been improved so that it can handle more complex dynamics setups. Now, it not only detects unsupported nodes and disables Parallel evaluation when it finds them, it also manages the tricky computation rules necessary for proper evaluation. This is one of the ways custom evaluators can be used to change Maya’s default evaluation behavior.

Note. Legacy dynamics nodes (particles, fluids) are still not supported. If the dynamics evaluator finds unsupported node types in the EG, it still disables parallel evaluation and resorts to DG-based evaluation.

By default, the following node types are blacklisted. If the dynamics evaluator finds them, it will disable the EM:

    field
    fluidShape
    geoConnector
    nucleus
    particle
    pointEmitter
    rigidSolver
    rigidBody

Nucleus is, by default, disabled from the EM, and thus only single-threaded. I don't know how it behaves in 2018, however. Caching being multi-threaded is not the same as evaluation being multi-threaded.
__________________
Commodore 64 @ 1MHz
64KB RAM
1541 Floppy Drive


"Like stone we battle the wind... Beat down and strangle the rains..."
 
  12 December 2017
that's not the case anymore with 2017
 
  12 December 2017
That said, even in Maya 2015 I'm saturating multiple cores in Nucleus evaluation. I really think it depends on what you're doing. On my quad-core here, just a simple nParticle emission (default, nothing changed) hits 4/4 cores on my machine, but is still only saturating just over 50% CPU use total, on average. Not as optimal as all 4 running at 100% but it seems obvious the math isn't that complex, and the cores are finishing their tasks fast enough to not max out the CPU in this case.

So it really just depends.
__________________
Commodore 64 @ 1MHz
64KB RAM
1541 Floppy Drive


"Like stone we battle the wind... Beat down and strangle the rains..."
 
  12 December 2017
Nucleus is still largely single threaded - what 2017 did is update the evaluation manager so multiple independent nucleus systems can be computed in parallel.
That's not the typical simulation scenario - you'll have to have multiple completely independent hair/particle systems to benefit from this.

An actual muttithreaded nucleus would require a ground up rewrite which I find very unlikely to happen.
 
  12 December 2017
here for ncloth
https://knowledge.autodesk.com/support/maya/troubleshooting/caas/sfdcarticles/sfdcarticles/Is-nCloth-Multi-Threaded.html


and this was for the presentation of maya 2012

Quote: New Fluid Effects simulation methods let you create realistic liquid pouring, splashing, and boiling effects. Other additions to Fluids include new output mesh options, improved auto resizing, and a number of new attributes to enhance the look and behavior of your effects. Further development of the Nucleus unified simulation framework includes multi-threaded nParticle collisions and nCloth self-collisions for faster performance, per-object local gravity and wind for greater control over Nucleus forces, and rigid nCloth shells for small-scale destruction effects.
The addition of Effects Assets provide a wide range of easy-to-use, customizable effects, including fire, smoke, explosion, dust trail, melt, and fireworks. For the Autodesk Maya Entertainment Creation Suites, Dynamics and Effects provides single-step Softimage ICE interoperability which lets you take advantage of the ICE (Interactive Creative Environment) to create effects for your Maya scenes.
 
  12 December 2017
Originally Posted by oddforce: Nucleus is still largely single threaded - what 2017 did is update the evaluation manager so multiple independent nucleus systems can be computed in parallel.
That's not the typical simulation scenario - you'll have to have multiple completely independent hair/particle systems to benefit from this.

An actual muttithreaded nucleus would require a ground up rewrite which I find very unlikely to happen.

You know, that's what I thought to - until I just tried it in Maya 2015, as I stated above. It saturated all four cores, and it was only a single nParticle emitter. I'm going to have to side with Onouris on this one. While I've certainly seen some single-threaded behavior from Nucleus, I can't make it act that way now, and this is with pre-2017 Maya no less.

I'll run the same test on the Piledriver or Bulldozer and see if it hits all 8 cores there.
__________________
Commodore 64 @ 1MHz
64KB RAM
1541 Floppy Drive


"Like stone we battle the wind... Beat down and strangle the rains..."
 
  12 December 2017
So I was completly wrong, sorry. It was my experience from several years working with Maya2015. Seems I always used a setup which was fighting multithreading.
__________________
www.renderwiki.com - www.openmaya.net
 
  12 December 2017
Originally Posted by haggi: So I was completly wrong, sorry. It was my experience from several years working with Maya2015. Seems I always used a setup which was fighting multithreading.

Yeah, I was pretty surprised to see nParticles saturating all cores as well. I don't do a lot of dynamics stuff, but it's really nice to see even 8 cores get used for Nucleus stuff. Other things in Maya 2015 are still single-threaded, but Nucleus seems to be better off than I thought.
__________________
Commodore 64 @ 1MHz
64KB RAM
1541 Floppy Drive


"Like stone we battle the wind... Beat down and strangle the rains..."
 
reply share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 06:36 AM.


Powered by vBulletin
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.