5 Replies Latest reply on Apr 11, 2014 10:31 AM by Lee Brown

    Does Solidworks use GPU cores for NUMERIC processing?

    Lee Brown

      Greetings!

       

      I am having trouble tracking down a straight answer to this question: Does Solidworks make use of GPU cores for numeric processing?

       

      My goal is to greatly speed up Solidworks Simuations, mainly FEA and Motion Analysis.  I am purchasing a new workstation and I need to decide whether to buy it with one or two nVidia K5000 GPUs.  Each K5000 has the equivalent of 256 processor cores.  An application designed to take advantage of both GPUs would have the equivalent of 512 cores at its disposal.  But two K5000 GPUs would be wasted if Solidworks will not utilize them for numeric processing.

       

      So I am hoping that someone from Solidworks can tell me to what extent, if any, that Solidworks Simulation will utilize GPU cores and what speed increase, if any, can be gained.  Or if I would be better off trying to maximize CPU cores instead.

       

      Best Regards,

      Lee E. Brown

        • Re: Does Solidworks use GPU cores for NUMERIC processing?
          Anna Wood

          That will be a waste of money for SolidWorks.  SolidWorks does not utilize the gpu for those calculations.

           

          CPU speed first, then the number of cores.  SW2014 can better utilize more cores with FEA Simulations.  Not sure about the Motion calcs for being multi-threaded, clock speed will help there.

           

          Cheers,

           

          Anna

            • Re: Does Solidworks use GPU cores for NUMERIC processing?
              Lee Brown

              Greetings!

               

              Well, that's certainly a shame, because Solidworks Simulation would benefit from doing so.  GPUs are heavily optimized for processing matrices and FEA is all about processing matrices.  Do you think Solidworks has any future plans in that regard?

               

              Best Regards,

              Lee E. Brown.

                • Re: Does Solidworks use GPU cores for NUMERIC processing?
                  Anna Wood

                  I do not have that kind of insight into what SolidWorks plans for the future.

                   

                  Cheers,

                   

                  Anna

                  • Re: Does Solidworks use GPU cores for NUMERIC processing?
                    Jared Conway

                    hi lee, all your answers are in the solidworks kb at customerportal.solidworks.com. there are articles that answer your question and also discuss enhancement requests. as far as i'm aware, GPU processing is not on the horizon. even abaqus owned by simulia is only starting to get into this.

                     

                    something i always recommend to customers that are looking for faster solutions is to talk to someone about your analysis to make sure it is setup as efficiently as possible. we work with a lot of customers in our mentoring service to just make their analysis more efficient while maintaining accuracy.

                      • Re: Does Solidworks use GPU cores for NUMERIC processing?
                        Lee Brown

                        Greetings!

                         

                        Actually I did search the knowledge base and found article S-057188.  However, the rationale given was, well, not quite right:

                         

                        " CUDA cores are designed for doing many, many redundant simple calculations (which is why they are good for processing display data (for example, what color should this pixel be). They are not ‘advanced enough’ to be used for SolidWorks, Simulation, PhotoView 360 rendering and overall SolidWorks performance beyond being used by the graphics card to generate the display window."

                         

                        This information is outdated.  Modern GPU cores are heavily optimized for manipulating arrays; many graphic procedures involve transforms or convolutions of large matrices.  This is why there are new extensions to MATLAB that use GPU cores to perform extremely large array operations very rapidly.

                         

                        Finite Element Methods, which Solidworks Simulation uses extensively,  depend heavily on performing matrix math on extremely large arrays, and matrix math is nothing more than "many, many redundant simple calculations."  It seems to me that you couldn't ask for a more natural fit between capability and application.

                         

                        Granted, the act of actually programming massively parallel array processing on GPU cores is a daunting task.  However, migrating from four or eight CPU cores to 256 or 512 GPU cores offers a potentially spectacular leap in performance, one that advances in CPU technology alone are unlikely to match.

                         

                        I think that Solidworks would do well to take a look at what MATLAB is doing with GPU core technology and investigate how they could use a similar approach to improve the performance of Solidworks Simulation.

                         

                        Best Regards,

                        Lee E. Brown