Hi,
We have in our company a 64-bit PC with a intel 6-core CPU, NVIDIA GeForce GTX 1080 and 32GB RAM.
"MicroStation Connect update 2" and "Microstation Descartes stand-alone" uses just one core, about 10% of what can be used in total.
Is there a way, or is it possible, that MicroStation uses all or more off the cores.
Best regards,
Werner
Unknown said:Is there a way that MicroStation uses all or more off the cores
Most of the time MicroStation is a single-tasking application that is user-driven. The user is the limiting factor, not the number of cores. Humans are not fast enough!
Some tasks in MicroStation can use multiple threads that the operating system may assign to different cores. As an example, a common task that can benefit from multiple processors is visualisation.
Unknown said:"MicroStation Connect update 2" and "Microstation Descartes stand-alone" uses just one core
I believe that it's possible to assign a Windows application to a specific core. That is, you could assign MicroStation to one core and Descartes to another.
Regards, Jon Summers LA Solutions
Here is a snapshot of the source control.
Hi Werner,
Unknown said:"MicroStation Connect update 2" and "Microstation Descartes stand-alone" uses just one core, about 10% of what can be used in total.
It's mostly, but not fully, true. I guess there is no public list what MicroStation (or Descartes) functionality is implemented as single thread and what as multithread code. Multithread support is known in some cases (e.g. rendering by Luxology engine), I remember it was mentioned also for some printing and dynamic views functionality also.
Unknown said:Is there a way, or is it possible, that MicroStation uses all or more off the cores.
No, the code itself has to be written and compiled to allow multithreading.
As Jon mentioned, the most of MicroStation engine is single-thread and there is no reason why to change it, because 99,9% of time MicroStation engine only waits for a user input. But it doesn't mean a specific tool cannot use multithreading to make its job faster, in fact the only limits are single threaded reading from file and single threaded writing back to design file. But ... somebody have to investigate a specific problem, ensure it can be split into more threads (which cannot be done very often) and to implement it. It's tough work.
Unknown said:For example, a task it is "extrude mesh".
It would be interesting to know if this tool is based on Parasolid functionality or it's implemented directly by Bentley. Parasolid itself supports multithreading on some level and also is thread-safe (in developers' terminology it means it's prepared to be used in parallel from different threads). But maybe this task cannot be split into parallel threads.
With regards,
Jan
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point
Unknown said: Is there a way, or is it possible, that MicroStation uses all or more off the cores.
A short answer: You can't change this. Impossible.
Only software developers could change a function to use multiple cores simultaniously. That's quite difficult and often does not work by principle, or does not speed things up much. Bentley implemented multi core processing for Rasterized Plot preprocessing, and Luxology Rendering also can spread over cores.
Would it work for meshes? I guess it would help a lot, but is it possible? Can a developer spread this task to independent tasks and, at the end, combine each threads' result into a common whole?