Cache Testing
The Cache Testing Dilemma
The Ryzen reviewer's guide contained an interesting note regarding L1, L2, and L3 cache measurement tools. AMD indicates that AIDA64 and SiSoftware Sandra, both commonly-used tools for cache testing, are "not yet equipped to accurately measure cache performance of the Zen architecture." AMD provided its own internally-measured reference values and noted that it is working with the FinalWire (AIDA) and SiSoftware teams to facilitate accurate Zen cache measurement methodology in the future.
We measured performance with the utilities and achieved similar results for Intel's Core i7-6900K, but we also noticed a large gap between the AMD-provided Ryzen measurements and our test results. Ryzen’s L3 cache latency measured 20 ~ 23ns, which is double the provided value. Due to some of the performance characteristics we noted during our game testing, we also tested with SMT enabled and disabled, but the results fell within expected variation. We also measured a ~10ns memory latency gap in favor of the Intel processor.
Many common utilities write zeros to the cache to measure performance. AMD responded to our inquiries and stated that Intel coalesces incoming "zero" write traffic before it passes it to the cache, which could yield artificially high cache throughput measurements, particularly because those patterns don't exist in real-world usage. In our opinion, changing the access pattern would result in reduced performance measurements for the Intel processors, but it certainly shouldn't boost AMD's cache measurements. AMD responded that the current utilities are also not optimized for Zen's unique architecture, and optimizing the utilities' code paths will expose more performance.
We contacted both SiSoftware and FinalWire to request any updated or beta versions of their utilities that can facilitate accurate testing. There is still collaboration between the company's and AMD to resolve the issue, but unfortunately, we aren't at liberty to discuss the details of those conversations. Until that time, and until the vendors and AMD agree on what's happening, we've determined that drawing any conclusions from these results would be irresponsible, and ultimately misleading. When we have final, verified, and real numbers, we'll provide them.