Idea Message ID: 8127
Now most customers are using multi-CPUs(processors) machines.
But for creo current release, only support multi-CPUs(processors) for graphics area and mechanica mode. Buy expensive machine and expensive software, it is very waste for us.
As I know, NX 8.0, solidworks 2012 and CATIA are support multi-CPUs(processors).
This is very very common enhancement for us.
I completely agree that this would be great. The improvements I've seen in analysis tools such as CFDesign and Microstripes is amazing. I also understand the difficulty in splitting an explicity sequential process into multiple-processor enviornment.
I don't know anything about Catia or NX 8, but I haven't seen that Solidworks makes any better use of multiple processors than Pro/E.
From Solidworks http://www.javelin-tech.com/main/support/solidworks_2012_hardware_faq.htm
"Only certain functions of SolidWorks can actually utilize multi-thread technology. Running simulation analysis, rendering images, file opening and user interface activities (redraw, dialog boxes) can take advantage of multiple cores as there are multiple calculations that can be determined simultaneously."
I agree with that request! The ability to use multi-CPUs for model regeneration action in Creo 2.0 would be very helpful for us.
but must be
we will wait
As nowdays CPU's are getting more and more multi cores the clock frequency per core is mostly not rising so buying a CPU that is faster at a single core is becoming complicated.
While we're all waiting for PTC to make any sort of progress on this, I'll just leave you with this link:
PassMark CPU Benchmarks - Single Thread Performance
From the (very few) tests I've done, the numbers there seems to correlate pretty well with regen times.
Worth noting that single-thread speeds are still rising - and that Intel beats AMD every time.
As far as I know, no other CAD system makes use of multiple CPUs upon regeneration.
There are things that can be "parallelized" and there are things that can't. Yes, when you build a brick wall it will be faster if you have more people.
When you write a novel, it will pretty much mess up your story if several people write on it simultaneously.
Regenerating a feature tree is like writing a book. Feature X is dependent on feature Y and can't be processed until the latter one has finished regenerating. That's a serial process, not a parallel one.
In short: I doubt they will be able to do it. And IF, there will be tons of regeneration bugs and instabilities, so nobody would turn on that feature (presuming there would be a config.pro for this).
Personal experience with a large assembly (25'000 - 30'000 parts) showed creo/elements pro 5.0 to regenerate about 2-3 times faster than SolidWorks. That was 2-3 years ago. Current experience with SolidEdge 7 albeit with much smaller assemblies (couple hundred parts), it is way slower than ProE was. So I'm a bit suspicious about claims of other systems being much faster.
I agree with the request, multi-processor is the way to go. The models are getting bigger and bigger with ever more detailed information and the 1 THz processor is nowhere in sight. It is frustrating to wait 15-30 minutes while the Task Manager shows 12% CPU performance. If PTC really doesn't know how to do it (a big if), then they need to find out. In the meantime, optimize, optimize, optimize...
Creo is built multi core. not for regeneration like Herwig Scharz stated. but graphix go to seperate core, and in simulate Creo uses all the cores.
Getting any 3D CAD system to use multi-processors is the holy grail of the development teams at all vendors. Like Herwig said, you have to do operation X before operation Y, so it is a serial functionality which does not lend itself to being split. Passing the data to the graphics chip for rendering may be split. Mechanica computations and NC programing operations may be split, but only at certain points that the computer has to understand before it starts.
For straight CAD work, multiprocesors 'help' if you isolate the CAD process to a single processor core and use the others for your OS, email, word and net surfing.
Is it a technical difficulties as for PTC? this is the highest voice requirement,it seems that PTC do not care it,and no one answer it
I have heard there is some multi-processing in Creo4, but doubt it will be a mind blowing improvement. CAD just does not lend itself to doing things in parallel. The best you can do is get the fastest chip in your computer. You can isolate tasks to certain cores so Creo has a 'dedicated' core, which may help, but this is a manual process after the applications are running. I used to do this on my Windchill server to put 1 Method Server on each core.
I am maybe not an expert but I have to say that compared to NX and Solidworks, Creo is definitively slower 2x-3x times when importing STEP files.
I see it every day, because our clients have NX 10, Catia V5-6 2014, or Solidworks 2015 and when I work for them, I connect remotely to them via Teamviewer to discuss the manufacturing problems. They don't have native files, only STEP, so it's really simple to compare the results.
My PC is far far better than theirs (i7 Extreme Edition - 4700MHz, Quadro M2000, 256GB SSD), yet I need double the time as they do, to open the same STEP assembly with 2000+ parts.
Also when computing paths in CNC Milling, Creo uses only one core. This is killing me...and I don't want to start the discussion now what is better or worse, but the new ModuleWorks in C3 is definitively slower than Vericut too.
I think STEP import may be off-topic here, unless Catia or NX use multiple cores when importing.
Do you have Windchill, or a long search path configured, when you import STEP files? For large STEP assemblies, I believe Creo has to check the database or the search path for the filename of every part, before it imports it - this can cause significant slow-downs. Catia at least seems to manage its files differently, so doesn't suffer from this issue.
Creo also seems to briefly create each file on disk then delete it again - this too could cost time for big assemblies, particularly if your working directory is across a network or on a slow disk. It's another situation where I like to set my working directory to a RAM drive.
I don't agree, that it's off topic, because when concurrency (like Siemens, etc) can make the same thing faster and quicker, than I am as current PTC customer very motivated to jump on this train. If it was up to me, it would certainly happen long time ago.
To be more clear on my general problem with C3: imagine, that I have to import every day like 3-4 molds with 2000+ parts and I wait several hours compared to me concurrent company that can do this in half of the time. This is big disadvantage to me, when using Creo.
Also, I have compared the mentioned NX, Catia and Solidworks and they do seem to use more than one core at certain points. As I said, this is hard to analyze under Win7 and is only my personal opinion.
What matters is the difference when importing, regenerating and milling with creo compared to concurrency.
RAM Drive is not bad thing, but I doubt that it would help in my case, when one CPU-Core runs at 99% when importing STEP files.
To answer you question, we don't use Windchill.
I've just tested STEP import into Catia (V5-R20) with a 72 MB file, opening off a RAM drive to avoid any bottlenecking, and it ran on one core*, taking about 90 seconds. I agree, from experience, that Catia is typically faster at importing STEP files, but it's not because it's multi-threading.
Why not open a new Idea to speed up STEP import?
Do you have a search path? If so, how long is it?
*13% CPU usage of my quad-core, hyperthreaded processor, in the Win 7 Task Manager 'Processes' tab
72Mb is very small to compare CADs - as you said every SW is a bit different.
You will see very disappointing C3 results with 2000+ parts when importing. 3000+parts takes more than hour, sometimes even more than two.
To be more precise about my observation and results, I have tested C3 M110 very extensively last month with:
1.) import of 350MB STEP mold with 2000+ parts - Creo uses single core
2.) Renaming of one part after import - Creo uses single core (renaming takes up to 3 minutes with 2000+ parts!!!)
3.) NC path computation when milling - Creo uses single core
4.) NC Check with Moduleworks - Creo uses all Cores
I have observed, that with Hyperhtreding-OFF alone, I got +5% boost. With overclocking from 3.3Ghz to 4.7Ghz (and turning down-clocking off) I got +25% boost on average at all 4 tasks. I have not looked at benchmarks like CPU-Z for this purpose - those are only numbers at paper many times, but I have stopped time needed to complete all 4 tasks.
What did you mean with 13% usage exactly - one core or all four cores?
I have discussed my problems many times with Customer Service, but everybody pointed me to an CS-Article about "Creo Multi-threading capabilities" at PTC-website - that says nothing more than: "this is how it is with Creo - get used to it!"
Task Manager reports total CPU usage as a percentage of all the cores it counts. With four cores and hyperthreading, there are eight logical cores so one core is 100 ÷ 8 = 12.5%, which displays as 12 or 13%. If one process (here, either xtop.exe or cnext.exe) is reporting 13% CPU, then it's (effectively) using one core. (If you display a separate graph for each core then you'll see Windows load-balancing across several cores, but this doesn't make the process run any faster than if it was locked to one core - they're just taking turns to process it.)
I'm not disputing that Creo is slower than Catia - my point was that Catia is faster but still only uses one core. Therefore only using one core is not the reason that Creo is slow at this task; and also the writers of Catia have not found a way to multi-thread STEP import either.
Hyperthreading should be disabled when used on systems that do intense CPU processing, like CAD design. There is an inherent overhead in handling the extra thread on each processor that is actually slowing down the CPU core. I have had IT disable hyperthreading in the BIOS on CAD workstations and even the Windchill servers.
Importing STEP files is only a marginal method for comparing performance. Depending on the complexity of the geometry, the STEP processor could be storing hundreds of segments as it reads the STEP file before building the solid that is defined.
First, I know what cores and HT means. You didn't say you have activated HT. I have disabled HT because of Creo and use only 6 logical cores out total 12.
I don't want to disagree with you. Everybody can compare Creo with other product for himself. I am only posting my observation and tests.
I don't want to have dispute about if Catia (or other SW) is better than Creo or if other CAD-SW can use more than one core. Not my point.
What is obvious to me, that Catia with one core can outperform Creo (and NX and Solidworks too).
What is more disturbing is, that company I work for, can't compete with other companies (in the same business) using Catia, NX or Solidworks, because I sit behind my PC waiting on Creo to import STEP-files, whereas other companies use this time to work with the already imported files and are productive.
And this was my original point.
Thank you Ben, I think and have tested the same: with HT-off most CAD-SW (and Creo too) are faster.
Well, I said it was "quad-core, hyperthreaded", so that kind of implied I had HT enabled; and you'd said "this is hard to analyze under Win7" and "What did you mean with 13% usage exactly - one core or all four cores?" so I was trying to explain in more detail.
And my original point was that improving the performance of STEP import should be a separate discussion or Idea, not lumped under one about multi-threading, especially as it appears that multi-threading is not the secret to STEP import. If you have a specific subject such as this, then create a specific discussion so that all relevant aspects can be considered, not just one assumed solution.
You still haven't answered my search path question, btw - I'm pretty sure this can make a significant difference.
Than we could separate discussion like: why is Creo using one core when milling, or why is Creo using one Core when regenerating, or why is Creo using one core when you rotate model in Wireframe and so on!
It's still the same product but everybody uses different modules in C3. Where is the point in starting 10 threads about the same topic?
Also Jonathan, this topic starts with words:"Buy expensive machine and expensive software, it is very waste for us". This is true for everybody who uses Creo - no matter what you do with it. For you, is importing of STEPs or CNC Milling maybe of no interest, but for other people like me, it's "daily bread" and speed of SW is essential to stay competitive.
We don't use search-paths now. If you have some suggestions, I would be glad if you instruct me. So you know, 100% of our work is to open STEPs with 2000+ parts locally on SSD and make som CNC milling. Two day work mostly. So I don't know how search-paths could enhance this kind of work.
No, if you don't use search paths then that's best for STEP import. Using a long search path, as I said originally, can slow the import further.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.