February 10, 2023
In a recent blog, Charn Jivaphaiboonskdi, senior applications engineer at Goengineer, wrote about recent benchmarking work he did to test the benefits of leveraging GPU acceleration in SOLIDWORKS Visualize using Dell Precision workstations and NVIDIA RTX™ GPUs. We spoke to him about those tests, as well as benchmarking around large assembly manipulation in SOLIDWORKS.
Before we talk about the benchmarking, can you discuss the growing importance of Visualize to SOLIDWORKS users, and how aware your customers are of the rendering module?
Charn Jivaphaiboonskdi: Whenever customers are designing products to sell them to someone, everyone wants a nice-looking image of it, to see what it really looks like in real world applications. Visualize allows users to take CAD data and create photorealistic images and animations of productsearly in the design process so that they can get their ideas out to market faster.
They can also get a better gauge from customers about whether they like a design, or certain color options or materials.
As far as customer awareness, a lot of them are, especially because the PhotoView 360 add-in for SOLIDWORKS is now being sunsetted in 2023. They must move toward SOLIDWORKS Visualize in order to create renderings of their products. PhotoView 360 is limited to CPU for rendering, whereas SOLIDWORKS Visualize can utilize CPU or GPU and is significantly faster on GPUs.
How does using GPU compute affect performance and rendering times?
CJ: An easy way to look at it is how many cores you have available. On a CPU, for a laptop for example, you can have from 4 cores or 8 cores, and some are moving toward 10 cores. On a desktop, you can have anywhere from 4 to 128 cores. That seems like quite a bit, but when you look at a GPU, you are looking at thousands of cores. It just accelerates the rendering process.
In my blog post I described the time savings on just one image, where the image includes some different textures of materials on a sphere or a cube, a marble being dropped on water, a cloth draped over a futon. The CPU took 8 hours to render one image. When I utilized my laptop GPU (an NVIDIA® Quadro RTX™ 5000), it took 30 minutes. That is a 94% reduction in time. With an NVIDIA RTX™ A4500, the time dropped below 15 minutes, and using dual GPUs cut that almost in half. It allows me to render more options and do it faster. If you are able to utilize more GPUs, we can pull together those CUDA™ cores, RT cores and Tensor cores, and combine them to render even faster.
You also tested how the GPU affected manipulating large assemblies in SOLIDWORKS?
CJ: For that we were basically trying to see the impact of GPU utilization on those larger models. I worked with an assembly with 6,000 components, and when using the previous generation NVIDIA Quadro RTX 5000, we could see the object looked blocky during rotations. It would eventually settle down so we could see the full geometry after rotating. I did a benchmark where I rotated it 500 times with a macro, and we can see that it took about 47 seconds to rotate it 500 times with an average rate of 10 frames per second (fps).
I compared that to the current generation NVIDIA RTX A4500 and rotated that same assembly around 500 times in 30 seconds compared to 47 seconds, and we got a 1.5 times improvement in fps, without that blockiness.
In terms of performance, I saw anywhere from a 30% to a 50% time reduction, and a 40% to 60% improvement in frames per second on large assemblies.
How aware are your customers when it comes to the value of GPU acceleration?
CJ: They are quite aware, because over the last few years the SOLIDWORKS team has put an emphasis on increasingly utilizing the GPU. The performance benefits have been amazing with each new version over the last couple of years utilizing these newer GPUs.
For engineers using Visualize, what are some other hardware requirements or tips they may need to know about?
CJ: SOLIDWORKS itself is limited to using a single GPU but Visualize can access multiple GPUs. If you are using multiple GPUs for Visualize and are thinking about using different generations of those GPUs, one thing to understand is we can pull together the CUDA cores and RT cores and Tensor cores, but we cannot pull together the VRAM. If you have two different models of VRAM, for instance one GPU has 8GB and the other has 12GB, you will default to accessing just the 8GB of VRAM. The VRAM of two NVIDIA professional GPUs can be pooled together with an NVLink Bridge.
Visualize can access however many GPUs you can provide. If you want to access more GPUs than are on your own workstation, Visualize Professional allows you to use Visualize Boost and Power Boost to create a cluster of computers on the network and utilize all the available hardware on that cluster.
The amount of memory you have does not have much effect on rendering. On the modeling side of SOLIDWORKS you need a minimum of 16GB of RAM, and you do not need to go beyond 32GB. If you are doing simulation for stress analysis or flow analysis, you would need more RAM for your computer, but regular modeling does not require it.
Attendees at 3DEXPERIENCE World 2023 can learn more about hardware configurations for SOLIDWORKS by visiting Dell Technologies and NVIDIA at Booth #424, and by attending the session 2023 - The Year to Upgrade Your Hardware and Software for Maximum Productivity, at 12 pm on Feb. 14.