cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Support multi-CPUs(processors) for model regeneration action in Creo

Support multi-CPUs(processors) for model regeneration action in Creo

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).

34 Comments
mliska
5-Regular Member

So I thought. Thanks for reassuring me.

PTCModerator
Emeritus
Status changed to: Acknowledged
 
JonathanHodgson
11-Garnet
As a first step towards improving CPU core use, could drawing view regeneration and ModelCHECK processing be updated to process each view (or at least sheet for ModelCHECK) in a separate thread?
Jaime_Lee
Community Manager

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).

mfischer
17-Peridot
Status changed to: Under Consideration

PTC is researching the ability to support Multi-threading for regeneration.  There is no commitment on time frame, but PTC is investigating the efforts to provide such support in a future release of Creo. 

 

In the meantime, PTC has introduced a number of functions within Creo that are currently multi-threaded such as:

  • Model Retrieval
  • Tessellation - this is used as part of retrieval, but also when changing shade quality of model
  • Lattice Generation
  • Generative Design - This also takes advantage of GPU (NVIDIA Cuda-based cards)
  • Creo Simulation Live - GPU processing (NVIDIA Cuda-based cards)
  • Render Studio - In the future will also take advantage of GPU (NVIDIA Cuda-based cards)
  • Hidden Line Removal
  • Creo Flow Analysis
  • Reconstruction - Part of Generative Design and Freestyle

All new development includes research into leveraging threading to help improve performance and take advantage at the available hardware.  Once such area is graphics, which will introduce performance improvements in all areas of Creo.

 

Lastly, PTC will be reviewing the listed areas currently supporting Multi-Threading and improve their scalability to maximize the available resources in the users machine.

 

Regards,

Mark Fischer

Sr. Director, CAD Product Management

JonathanHodgson
11-Garnet

Thanks Mark - it's good to hear that PTC are working to push this forward.

S_Edgenear
14-Alexandrite

Hi Mr Mark Fischer,

 

One of the ways that I think could be used to allow safely use multi-threading in regeneration in part mode, even if the code base of the geometry kernel is not (yet) updated to be multi-thread safe, is to allow several "branches" of geometry bodies to be defined at the start of a model tree, all only dependentent of a coordinate system to generate the first geometry. Since there would be no interaction, or inter-dependence between the several bodies, even the current geometry creation routines would safely regenerated independently on a thread allocated to one of several cores of a microprocessor. Only when there would be need to make boolean operations, or reference geometry on a previously defined body, would there be any need to wait to do the serial syncronizatoin work on a single thread.

 

So, the phiplosophy for complex parts, would tend to be making small sections of a part, a bit like UDFs, where extrudes, revolves, drafts, rounds, shell, holes, etc, and after each sub-section of a model was regenerated in its nidepedent body, the several bodies would be merged at the end.

 

I think that instead of having only a "default" coordsys and the default 3 datum planes to sart new part geometry, Creo should start to allow extrudes, revolves, etc, to be started on a coordsys, like in NX in most other cad packages. This way, to create an "indepedent" "seed geometry" we only would have to create one feature, a csys, instead of 4 features, to have 3 "default" datum planes.

gvovard
3-Visitor

In addition to managing multi-threading, it would be interesting to take into account the power of graphics cards which are more and more efficient and which could support the processor in its calculation phases.

S_Edgenear
14-Alexandrite

@mfischer 

 

Another idea to share with your R&D team, regarding processor multi-threading to speed-up regeneration times and allow Creo to output more detailed geometry with no slowdowns, is for instance, in generating "helix" surfaces when doing detailed threaded holes or shafts. Currently Creo and the majority of CAD packages uses "Cosmetic threads" to avoid complex geometry (lots of trimmed and nurbs surfaces to detail the thread of a bolt, shaft, threaded hole, etc). So, since we already have lots of threads in modern processors, PTC could leverage that computing power to allow more detailed thread geometry if it's a requirement for machination. Creo could have an algorithm that inicially uses only two half cylindrical surfaces to show the holes, but in the background allow the other processor threads start generating detailed threads, and when those background computations end, or if zooming to a hole or threaded shaft, let the graphics card show the detailed threads to see that is indeed a threaded hole. The generated helix surfaces are not considered for intersections with the rest of geometry, they are only a kind of replacement, a level of detail geometry, to be swapped in and out as needed, or when there is need to export as STEP for machining.