I am working with files that have lots of fine details in larger parts. The process of integrating the complex geometry details into
larger parts or assemblies is grinding to a snails pace. I see my machine only using 1 of 8 cores to work and it has been running a
unite selection step (after a pattern) for many hours. Is there a list of what processes use SMP? Is this bound by GPU? Can i use a
surrogate "BLOCK" intead of my rectangular object then later bring in the internal complexity to the process, speeding things up?
I am after time saving tips here. Maybe phased replacements would make this magically fast other than a final step of part
replacement? Maybe a setting is slowing me down? Is there a list somewhere of SMP and non-SMP functions/processes?
# This variable enables Symmetric Multi-processing (SMP) on systems
# with multiple CPU's or that support hyperthreading. Performance will
# be improved in certain Parasolid operations, such as Mass Properties,
# Booleans and silhouette generation. This option is only supported on
# platforms where Parasolid supports multi-threading.
# Set to 0 to disable SMP
# Set to 1 to enable SMP
# Unset will take the Parasolid default
# UGII_SMP_ENABLE = 1
Are there wave links associated to your model? Can you do a delay interpart update so your all of your parts are not updating everytime you make a change to a part.
Your machine will only work with 1 core becuase NX is a very linear type of work flow. Do a search on here there are threads that discuss this.
Also see this thread
John Bakes talks about Feature/Marks.
Hope this help a little.
As @sdeters, says, look here for more threads discussing this topic. Although more and more processes are using Multithreading, not all processes benefit from multi-core calculations. It also creates some overhead, which can even slow down the overall process.
And a very simplified example: a simple block with a hole in it. How would NX know how and where to place the hole, while the Block isn't even created. So how can a second CPU work on the hole, while all it's references are being calculated but CPU one.
I know code wise, this example is to simplistic, but it's partially how it works.
About your variable: UGII_SMP_ENABLE = 1, this one is already set for a long time as default. So where possible NX will use multithreading... The number of features benefit from this, is increasing each version, but as said, It cannot be implemented for everything, and it takes a lot of work to program this to work failsafe. I think most prefer a slower stable NX session above a fast crashing one.
Well, a slow stable run assumes something actually completes someday. Since there is no progress indicated and since the issue mentioned below of incremental reprocessing seems to be occurring, i have no clue it would ever complete. I havent yet put this on a machine to see if it would ever come back. I waited 16 hours before aborting, who knows how far along it is. I am seeking other alternatives inside and outside NX. It may be easier and faster to do what i have to in a math tool with less emphasis on visualization? Just not sure.
The mention below of deferred updates and even surrogate parts that could later be swapped is the best route i can think of to success in NX. I need to study the links and docs to try to identify if anything like this exists, applies and/or helps.