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!

Commands which have been made multi threaded in NX

Status
Not open for further replies.

NXsupport

Computer
Apr 11, 2008
249
Hi All,

Need to know whether in NX8 any commands have been made multi threaded . We have systems with multi core, but when you observe, NX 6.0.5 uses only single core for executing the commands.. It would help to know if Siemen`s have any initiative to move all the commands in NX to Multi Core/ Threaded functionality , so that they could executed faster..

Right now, Iam looking for list of commands , which are turned into multi thread/ core functionality as Siemen`s have replaced the parasolid kernel to 24 . I have read they have made some significant changes in version 23 of parasolid kernel.

Thanks for the inputs in advance
 
Replies continue below

Recommended for you

From the NX8 release notes:

-------------------------------------------------
Symmetric Multiprocessing (SMP) is supported in NX mostly via Parasolid, although a small number of NX capabilities have some threading. In general, it is not possible to quote a figure for the general performance improvement achieved by using SMP, since this improvement depends on the nature of the operations you are performing. You need to evaluate your actual performance gains using your own models. Functional areas that are SMP enabled in Parasolid include:

Validity checking

Boolean operations

Wireframe

Rendering

Hidden line rendering

Closest approach

Faceting

Mass properties

SMP is enabled by default with the variable UGII_SMP_ENABLE, which is located in the ugii_env_ug.dat file.
-------------------------------------------------
You will find that it is not enabled by default but needs to be turned on by setting that variable with a value of 1.

Anthony Galante
Technical Resource Coordinator

NX4.0.4MP10, NX5.0.0->5.0.6, NX6.0.0->NX6.0.5, NX7.0.0->NX7.0.1 & NX7.5.0.32-> NX7.5.4.4, NX8.0.0.25
 
And before someone asks a follow-up question, expecting that NX, or for that matter, any complex software package which has evolved into it's current state (which would, by definition, include virtually ALL currently avilable CAX products to say nothing of most of the software used by engineers today), could or even will be, re-architected "to move all the commands...to Multi Core/ Threaded functionality" is just wishful thinking. In the first place, it's not really practical and in the second place, the cost could never be justified even if it was possible. The best that can be done it to look for opportunities which make sense and which can be done without having to completely start over in coding your software. In other words, there is NO magic bullet which you can use to make single-threaded software suddenly able to leverage multiple-cores by simply running the source code though some pre-processor and then recompiling it.

With that in mind, you will understand why we've taken the approach that we have, first looking at Parasolid where it happens, as listed in Tony's reply above, there were some selected places where we could re-engineer the code to leverage multiple processors and we did so and we will continue to look for opportunities in Parasolid to do more of this, but don't expect anything all that dramatic since, contrary to what many people think, a lot of what happens in a product like NX, doesn't lend itself to muti-threading in the first place, PERIOD. The math just doesn't lend itself. However, we do look for 'low-hanging fruit' as it were and so, in addition to what our long term plans are for kernels like Parasolid, we sometimes find opportunities in NX itself, which are not always mentioned in the release notes, at least not with respect to their 'multi-threaded' nature.

For example, the built-in Movie 'capture' functionality we added in NX 6.0 is multi-threaded. Some work has recently been done by the CAM group to offer some multi-threading support with certain toolpath generation tasks. There's an option in the...

Preferences -> Visualization Performance -> Large Models

...where in the Settings section of the dialog you can enable an option labeled 'Background Loading' which will separate the processes of opening the part file and loading the actually graphic data into separate threads so that you can start to select menu items and functions even if the part file which you just opened has not yet been fully displayed, something which could be useful when working with very large assemblies.

Anyway, we will continue to look for places where we can leverage 'threading' when practical and where the cost can be justified, but it will be opportunity driven rather than as part of some ongoing, larger "let's work on making all of NX multi-threaded" project.

I hope this helps people understand what's happening and how they will likely see progress in the furture; a little here, a little there, but nothing earthshattering ;-)

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
UG/NX Museum:
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