Between one and multi cores
Alin Vargatu of TriMech researched where the single-core bottlenecks in Solidworks are, and reported it in a Webinar at trimech.com/resources/upgrade-your-hardware-and-software-for-maximum-productivity (email required). While the purpose of the Webinar is to sell upgrades to Solidworks 2023 and new Dell hardware, it contains useful information. Let’s take a look at some of what he and Dell’s Scott Hamilton had to say at the “Upgrade Your Hardware and Software for Maximum Productivity in 2023” session.
The poster benchmark reduces the time to open a large assembly from 8.75 minutes to 1.75 minutes -- 5x faster. The changes being
- From Solidworks 2022 on a Dell 5540
- To Solidworks 2023 on a Dell 5570
The 55xx-series refers to Dell’s Precision-brand laptops that start at $3,000 and top out at $13,300. The difference between the two models listed above is that the older one uses a 7th generation i7, the new one a 12th gen i9.
Here’s the thing to keep in mind: CPU speed, many cores, and lots of RAM are effective for large assemblies only; when you work on individual parts and small assemblies, there is no need for a $13,300-laptop.
The benchmark used by Mr Vargatu is a STEP file of a truck cab continuing 18,975 surfaces and 1,224 solids; see figure below.
Mr Vargatu correctly notes that the top speed (= least waiting) is at the intersection of hardware, software, and the user.
A very specific limitation has bedeviled the CAD industry in this era when four CPU cores is pretty much normal in any computer these days: that CAD software only makes use of a single core, most of the time -- three are wasted on us. (You can think of each “core” as a separate CPU in your computer.)
For regular CAD users, there are only a few occasions when CAD software can employ more than one cored, such as loading drawings and regenerating them. To help us see what’s happening behind the scenes, Mr Vargatu created this flowchart to show how Solidworks switches between single- and multi-core processing when going from task to task while opening an assembly. In the figure below, the phase most taxing to computers is the final multi-thread one, Compute Tesselation, where CPU speeds hit 100%.
Having lots more than four cores helps, but with diminishing returns, so that 16 cores are not 16x faster than one core, but rather about 9.5x faster. The reason for the 40% “loss” in speed is that it takes time for the software to separate the processing into 16 strands, and then more time afterwards to bring the 16 strands together. As well, the memory (RAM) might not be able to process data fast enough to handle many cores. So the rule of thumb is, Don’t bother with more than 16 cores; eight is sufficient for Solidworks -- unless software is custom-written for many more cores.
Today’s Intel CPUs come with two kinds of cores, performance and efficiency (for background processes); performance cores is what CAD users need for simulation. When such a CPU goes multi core, the CPU speed drops -- and vice versa. Rendering is usually done with GPU cores.
RAM should be 32GB -- or more, if the motherboard supports it. Hard drives should be 1TB (or larger) SSDs (solid state drives), of course, that use the new NVME (non-volatile memory express) interface, which is faster than the older SATA (serial advanced technology attachment) standard.
This problem is something that CAD hardware and software vendors have been working on for a decade now. For it’s part, Dell has segregated the workload into two different kinds of computing:
- Interactive CAD work (doing design work and view changes): maximize the CPU clock speed and GPU graphics display speed; helps to have fast storage
Computational CAD work (doing batch processes like renderings, analysis, and simulation): maximize the number of cores, RAM bandwidth; helps to have GPU cores
(Computational CAD software can make use of the cores in advanced graphics boards, which can number in the thousands.)
In Solidworks 2023, the program is better at reading parts with large numbers of imported features, facets, and bodies, ads well as modifying appearances, and rolling back, forward. Solidworks allows you to run renderings on more than one computer.
As for users, it is important they know how best to open and regenerate files. If they don’t, they might spend hours a week waiting on files. For example, while one instance of Solidworks is opening a large assembly, you can start a second instance to edit a smaller part -- at the cost of the entire computer running somewhat more slowly. To learn more, you need to pay for TriMech’s course on large assemblies.
Impact of computer
Open speed: 39% faster
Refresh time: 37% faster
Impact of software due to
Open speed: 66% faster
Refresh time: 18% faster