Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

NX cpu usage - any way to increase

Status
Not open for further replies.

lorenolepi

Aerospace
Jan 22, 2009
118
I'm running NX 7.5 64 bit and for some reason it will only use 13% of the CPU (sits there and turns its wheels on large assy's). Is there any setting to allow it to use more of the CPU?
 
Replies continue below

Recommended for you

How many 'cores' does your CPU have?

You have to keep in mind that if you have say a quad-core system, and you're running a single-threaded application which is maxing-out (i.e. 100%) one of those cores, from a Windows point of view, as reported in the Task Manager, this is a system-wide utilization level of 25%.

John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA

To an Engineer, the glass is twice as big as it needs to be.
 
How many cores does your computer have?
It sounds like you have an 8-core computer and NX is utilizing 1 core at 100%. Check the task manager and be sure the setting under View - CPU History is set to show One Graph per CPU.
There is nothing you can do as NX is single-threaded for most of its operations.


"Wildfires are dangerous, hard to control, and economically catastrophic."

Ben Loosli
 
When will more of NX become a multithread application and take advantge of the mulitple core Processors of today?
 
Sdeters, explain how you would multi-thread a system that is heirarchical in nature. One feature is built upon another. You can't process feature 25 before processing featurs 1-24 first. This is a common issue with all CAD systems.
In the display area, NX does do hidden-line removal in a multi-threaded section of code. I also think some of the CAM processing is done with multi-threaded code.
There are advances to be made in multi-threading of CAD systems, but they aren't robust enough for production use.


"Wildfires are dangerous, hard to control, and economically catastrophic."

Ben Loosli
 
Yea, I've seen THAT debate before. Reminds of a customer once (now this 25+ years ago back in the mainframe days) whose engineering department was charged for contect time on the central corporate datacenter's CPU's. Well, they replaced the CPU which this group was connected to with one which was, according the spec's, 4 times faster. So their IT department increased the contect charges by a factor of 4, making the argument that since everything was going to take only 1/4 as long now to perform an operation, if they didn't increase the rate that potentially they would only be getting 1/4 of their original payments. We actually had to help our 'customer', the engineering group, put together an explanation about how that was a totally bogus assumption to make and how that is not how interactive software applications work. Perhaps for IT guys, who were used to running back-ups and batch programs, there may have been a more direct correlation between CPU speed and the time it takes to complete a task, but not in the interactive world where designers and manufacturing people lived.

John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA

To an Engineer, the glass is twice as big as it needs to be.
 
As for the question of "When will more of NX become a multithread application...?" as was already mentioned, this is not as simple as just recompiling your code. You have to look for opportunities where multiple operations actually could be executed in parallel in such a way that when you got done the results could be 'put back together' properly since in the end the delivery to the user is still going to be a serial event, i.e. seeing a result on the screen.

Now there is research being done, particularly in the basic tools, such as Parasolid and the analytical solvers, where there are more chances of opportunities and where we have done some work which has resulted in at least somewhat leveraging these multi-core architectures, but even then we have to make sure that we actually get a benefit since just because you CAN create a multithreaded application doesn't mean that it will pay off in the end since there is some additional overhead at run time and certainly a lot of extra work during the design, compiling and integrating stages of the software development process.

But that being said, when something does come along which is fairly easy to do, we have taken advantage of it. For example, when we introduced in NX 6.0 the ability to capture an AVI video from within NX, if you're running on a multi-core system, even though this is task is launched from within the NX session, the code that is capturing the video frames and assembling them into a movie is being run in a separate 'thread'. Also, more recently, the Manufacturing people added a new scheme whcih will allow you to launch a toolpath generation and then immediately return to your interactive session while the actual computation is taking place behind-the-scene. In this case, like the video capture example, the process which is computing the tool path is actually being run in another thread. Now this is different than a simple batch-program in that you could start several of these toolpath generation operations all from the same NX session and when completed you will be able to immediately see the results in your current session just as if you had run them interactively and simply waited for the results before you could continue.

Now granted, these two examples when you think about them, were a sort of no-brainers since we didn't have to make any really big changes to our existing code, just make it possible to spawn totally separate tasks which were still known to NX and which would eventually deliver something to the user without him having to do anything special. Which brings us to the last point, and that is that while NX itself may only have limited opportunities to leverage multi-core architectures, generally NX is NOT the only process running on your desktop at any one time, so having a multi-core system, even if you never actually run ANY mutlithreaded applications, will still give you an advantage if you're running more than one program. For example, at this instant, just the applications which I can interact with, I have MS IE running (obviously since I'm responding to a internet site), MS Outlook for my regular email, Windows Live Mail being used as a 'newsreader' to access a traditional bulletin-board system and TWO difference sessions of NX. So you see, I'm taking advantage of a lot of the multi-threading 'capabilities' of my Intel i7 quad-core, Dell M4500 laptop, even if any single application is NOT.

John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA

To an Engineer, the glass is twice as big as it needs to be.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor