Low CPU usage

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

  • The problem is not here in humans, but in the software.
    We work with very heavy meshes.
    To perform a task, the software takes a lot of time.
    For example, a task it is "extrude mesh".
    In order to perform the calculation, MicroStation use only 8.3% of the CPU.
    This calculation takes several hours before any results is visible.

    Regards,
    Werner
  • 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

  • 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?