4 Replies Latest reply on Oct 29, 2018 1:23 PM by Frederick Law

    SW and Multiple Core Usage

    Matt Juric

      I've been reading a few articles and posts on SW's usage of multiple cores. From what I've been reading is that during general usage, not rendering, not FEA, simulation etc., that SW does NOT use more than one core. I've read 1 or 1.5. That "Should" show up as two to three cores under the resource monitor with hyper threading.


      This arose from a problem where someone here was having their system appear to lock and when switching to the task manager all cores where getting spiked. He was working with a large assembly and we were trying to figure out what was taking so long.


      The guy from the IT department was in and I mentioned that SW only used one core. He then stated that SW uses all the cores, which I did not think was correct.


      I then did some checking on my system and when I do something it would "Appear" that it something happens on most of the cores but this may just be "ancillary" activity not actually SW using those cores.


      So the question is does SW use all cores, some cores, bring in processes that it requires that may use other cores or some combination.The two pics below are my machine. First is nothing really happening except background stuff. The second is same machine with me continually rotating an assembly in SW. It appears to only be intensely using one core, assuming that CPU4 is the hyperthreaded version of CPU0. But it also ticks up activity on all the other cores. Are these ancillary tasks being brought in by SW or actual usage by SW? If a person did a function in SW and suddenly all the cores spiked what should one look at as the culprit?



        • Re: SW and Multiple Core Usage
          Frederick Law

          IAStorDataSvc is on both computer and using more CPU then Solidworks.

          Solidworks has 92 threads, so its multi-threading.

          svhost is pretty high in the list.


          In task manager.  If you go to detail, you can right click on any process and set CPU affinity.  This will force the process to only use selected cores.  You could set SW to use only 4 cores, for example.  Then check if all cores still got lock up.


          I'll Google to check if there are program to tell which cpu core a process is using.