21 Replies Latest reply on May 15, 2015 5:56 PM by Jared Conway

    Flow simulation speed with dual processors.

    Nick Thiessen

      I have a dedicated simulation computer that has dual Xeon E5-2687W v3 10-core processors (20 cores total). I have been running speed tests to get the best performance, and the fastest solve times are when I limit flow simulation to 10 cores (1 CPU). Does anyone know how to get flow simulation to effectively utilize both CPUs? I have tried opening two instances of solidworks and manually setting the affinity of both solidworks and the solvers to seperate CPUs, but they still seem to cross-over and cause the solve time to double. This is not an issue of maxing out the computer's resources because if I batch run 2 sims limited to 10 cores it is back down the half the solve time. Any ideas or suggestions would be helpful.

        • Re: Flow simulation speed with dual processors.
          Richard Bremmer

          HI Nick,

           

          I am not sure it has something to do with this issue, but how is your system memory divided over the two processors?

          • Re: Flow simulation speed with dual processors.
            Jared Conway

            are you using 2015?

             

            is hyperthreading enabled?

             

            what operating system are you using?

             

            where specifically are you setting the limit on the number of cores and what are you seeing when you don't limit it? it slows down when you use more?

             

            some screenshots and hard data would be really helpful.

            • Re: Flow simulation speed with dual processors.
              Nick Thiessen

              Hi Jared,

               

              I am using 2015 SP 2.0. I have tried it with hyperthreading enabled and disabled and the results are essentially the same. With hyperthreading enabled the fastest solve times are when I limit it to 10 "CPU's" in the flow simulation run dialog box.

              I am using Windows 7.

              I have tried changing the CPU utilization in two areas with generally the same results. First, in the Flow Simulation Run Dialog Box I have tried different numbers of cores with hyperthreading on and off, and in both situations 10 is by far the fastest solve time..For example in the simulation for the attached screenshot with hyperthreading on when I limit it to 10 CPUs the solve time is 28sec. If I let it use 40 CPUs (20 logical cores) the solve time jumps to 69 sec.

              Second, I opened two instances of SolidWorks and set each processes affinity to a separate core, and then I set the corresponding solvers for each instance of SolidWorks to the same separate cores (these tests were run with hyperthreading off). When I batch ran 2 simulations simultaneously in the same instance of solidworks with the cores limited to 10 the solve time was 34sec, and with the cores set to 20 the solve time increased to 58sec. Next in one solver I batch ran 2 simulations simultaneously and limited the number of cores under flow simulation to 10, and did the same in the other instance, so 4 simulations at the same time and the total solve time for all 4 simulations was 68 secs. If I repeat that same procedure without manually setting the affinity of the processes to separate CPUs in task manager the total solve time goes to 109sec. During all of these runs I was nowhere near my total CPU utilization, or near the max memory for either processor. If there are any other questions or specific screen shots that would help you please let me know.Solver Screenshot.jpg

                • Re: Flow simulation speed with dual processors.
                  Jared Conway

                  1. check the solidworks KB, the improvements in solve time based on cores drops pretty significantly after 6 cores or so

                  2. disable hyperthreading, all testing shows that it doesn't help in flow (see item 1)

                  3. run a longer test, in 30s analysis there is more overhead allocating CPU and memory than there is solve time.

                   

                  when i spec flow systems, it is all about core speed and that is actually the case for most of solidworks

                   

                  in the long run, the best way to improve solve time is optimization of the analysis setup

                    • Re: Flow simulation speed with dual processors.
                      Nick Thiessen

                      1. I have seen the tests, but the performance shouldn't get worse, and I am more concerned with the issue of flow simulation not utilizing my second processor.

                      2. I understand the relationship between hyperthreading and flow simulation, and I have run these tests with hyperthreading on and off. The main purpose for me currently having hyperthreading on is that if you look at the most comprehensive studies hyperthreading on average slows simulations by about 1% whereas it greatly improves photo rendering time and certain FEA simulations, which I also run on this machine.

                      3. I will try running some longer tests with hyperthreading turned off, and report back the results, but I feel like they are going to be consistent wiht what I am currently seeing.

                       

                      Lastly, I understand optimizing the analysis setup, but I am trying to understand how to get full advantage of the dual processors for running many simulations at the same time.

                      • Re: Flow simulation speed with dual processors.
                        Jonathan Gourlie

                        I am currently building a high end computer for large complex simulations using the same 10 core 3.1 GHz processor. When you say that performance drops off after 6 cores are you talking about physical or logical cores?  My initial assumption would be that you are talking about physical cores, since almost all modern processors have 2 logical cores for each physical core but I don't want to base this kind of purchase on an assumption. 

                         

                        Thanks,

                         

                        The overall specs are

                        Xeon E5-2687W v3

                        128 gig DDR4 ram

                        Quadro K2200

                        2x 256 SSD RAID 0

                          • Re: Flow simulation speed with dual processors.
                            Jared Conway

                            I would recommend you go dig through the solidworks KB on this one to better understand what the developers recommend and what can and can't be used.

                             

                            whether logical or physical, there are less gains as you increase the number of cores. around 6 is where things flatten out.

                             

                            what we did determine in this thread is that it looks as though DUAL cpus does not work in the current flow sim. but i don't know if that was confirmed.

                            • Re: Flow simulation speed with dual processors.
                              Andrei Popov

                              " since almost all modern processors have 2 logical cores for each physical core"

                               

                              This is true if you enable hyper-threading. Jared is talking about the physical cores which means the hyper-threading is disabled..

                              But anyway I dug all the knowledge base on this subject and the official answer is Solidworks does not use hyper-threading so you should disable the hyper-threading if you want to maximize Solidworks performance. I just did that and the speed is almost double in anything: rebuilds, meshing, solving simulations etc. I have a Xeon E5-2637 v3 @3.50GHz dual CPU 4 cores each, 8 physical cores and it works just fine.

                                • Re: Flow simulation speed with dual processors.
                                  Jared Conway

                                  its not that it doesn't user hyperthreading but rather that the processes are single threaded so they don't get spread across multiple cores

                                  so rather than using half your CPU, you get to use the whole thing

                                   

                                  there are a lot of moving pieces as well, sometimes with hyperthreading enabled some things are faster, but that usually comes from things like turboboost

                          • Re: Flow simulation speed with dual processors.
                            Nick Thiessen

                            I might not be making myself clear in the description of all of the tests I have run, but they do reflect my goals.

                             

                            No I do not think I have determined the best answer although I might have (in the case that flow simulation cannot effectively utilize multiple processors). That is why I am reaching out to the SolidWorks community to see if anyone knows more about flow simulations use of dual processors and not just multiple cores.