Testing Dynamic Local Mode on AMD Threadripper 2970WX - RenderingWritten on December 12, 2018 by William George
Dynamic Local Mode is a new feature on AMD's biggest Threadripper processors. These CPUs have cores grouped internally, some with direct access to system memory and some which have to communicate through those other cores to access data in memory. DLM prioritizes running code on the cores which have a direct line to the memory, helping to improve performance in situations where not all of the cores are in use. How does that translate to real-world workloads, though? Let's take a look at two CPU-based rendering applications - Cinema 4D and V-Ray - and see how the 24-core 2970WX behaves with this feature on and off.
The CPU platform for this had to be AMD's X399 chipset since that is the only option for Threadripper. We utilized the recently-released 2970WX since we already have test data for the bigger 32-core 2990WX, and these are the only two models which support (or need) Dynamic Local Model. If you want to see full system specs, with links to part pages, click here to expand a comprehensive hardware list.
|Motherboard:||MSI MEG X399 Creation|
|CPU:||AMD TR 2970WX 3.0GHz (4.2GHz Turbo) 24 Core|
|RAM:||8x Crucial DDR4-2666 16GB (128GB total)|
|GPU:||NVIDIA GeForce RTX 2080 8GB|
|Storage Drive:||Samsung 960 Pro M.2 PCI-E x4 NVMe SSD|
|OS:||Windows 10 Pro 64-bit|
|Software:||V-Ray Benchmark 1.0.8 & Cinebench R15|
Both Chaos Group and Maxon provide benchmarks which measure rendering performance in their applications, and although they are both a little dated we find that they are still very helpful in comparing CPU performance. Since we are focusing on the CPU in this case and not the video card, we are going to disregard the scores for GPUs (in V-Ray) and OpenGL (in Cinebench). There can be some variance in these tests from one run to another, so we ran each benchmark three times and selected the fastest result - the lowest times for V-Ray and highest scores for Cinebench - to be included in the charts below.
Here are the results for V-Ray Benchmark 1.0.8, with Dynamic Local Mode turned On and Off. Results are in seconds, lower is better:
DLM Off took a slight lead in V-Ray, but I would consider this within the margin of error. Across three runs, all three came back at 32 seconds with DLM On and two came back with 32 and one with 31 seconds when DLM was turned Off. I am sticking to our official approach to listing the results, as described previously, but I really don't think DLM is having any true impact here.
What about Cinebench, though? Let's take a look at both the Multi CPU (all cores active) result, as well as Single CPU (one core):
In the Multi CPU test, DLM Off was slightly faster again, as we saw in V-Ray, but in the same vein, the results are so close that I would say they are within the margin of error. We are only talking about half a percent here, with a 22 point difference out of more than 4,200.
On the Single CPU side, DLM On comes away with a small lead. This may also be within the margin of error, but the difference was a little larger at about a 1.1% increase when enabling Dynamic Local Mode.
AMD's Dynamic Local Mode makes very little performance difference in CPU-based rendering applications, and that shouldn't be a big surprise. The main goal of DLM is to improve performance in situations where not all of the CPU's cores are active, by prioritizing thread placement on cores which have direct access to system memory, but CPU-based rendering does a good job of utilizing all available cores. Even in the case of Cinebench's single CPU test, which is more reflective of 3D modeling and animation performance, since only a single core is used there isn't much impact there either.
Regardless of DLM's impact, or lack thereof, AMD's Threadripper processors are still fantastic choices for CPU rendering!