> AMD beat Intel with their K6 and similar series of chips where, just like this time around, they were able to get way more performance per tick out of the CPU.
There was in interesting submission the other day about performance of the Ryzen vs i7, and how their AVX2 instruction support isn't what it's racked up to be[1]. I'm not really qualified to assess the source or claims accurately, so I'll let others read it themselves and come to their own conclusions, but it was interesting.
Those benchmarks mean absolutely nothing, because they obviously knew almost nothing about the processors they were trying to use.
1. "Ryzen's AVX2 support is a bold-faced lie" To say this only shows complete ignorance. It was publicly known for many years that Ryzen will have only 128-bit AVX units, compared to the 256-bit AVX units of Haswell and its successors.
Nevertheless, using AVX-256 is still preferable on Ryzen, to reduce the number of instructions, even if the top speed per core is half of that reached by Intel.
2. The benchmark results just show incompetence.
While the top speed per core is half, the number of cores is double, so you just need to run twice more threads for a Ryzen to match the speed of Intel.
It is true that an i7 7700K will retain a small advantage, because of higher IPC and higher clock frequency, but the advantage for correct programs is small, not like the large advantages of those incompetent benchmarks. I have both a 3.6 GHz /4.0 GHz Ryzen and a 3.6 GHz / 4.0 GHz Skylake Xeon, so I know their behavior from direct experience.
While 4-core Intel retains a small advantage in AVX2 computations over 8-core Ryzen, there are a lot of other tasks, e.g. source program compilations, where Ryzen has almost a double speed, so you should choose your processor depending on what is important for you.
3. The most stupid benchmark results are for SHA-1 and SHA-256. Ryzen already implements the SHA instructions that are also implemented in Intel Apollo Lake processors (to boost the GeekBench results against ARM) and will also be implemented in the future Intel Cannonlake processors (whose 2-core version is expected to be introduced this year).
If they had benchmarked a correct program that uses the SHA instructions, Ryzen would have trounced any Kaby Lake processor.
Skylake/Kaby Lake have two full-fledged 256-bit vector units.
Ryzen has four partial units. There are two 128-bit adders, and two 128-bit multipliers.
Intel's best case is a constant stream of 256-bit FMA instructions. They can do two per cycle, while AMD can do one.
The more plain adds and multiplies, the better Ryzen does. The same for 128-bit vector instructions. With enough of both, it can actually do significantly more work per cycle.
I may be somewhat qualified to speculate...Based on my experience with both Intel's and AMD's OpenCL implementations for their CPUs, I suggest that Intel has a much better vecorizing compiler than AMD. The benchmarks they are running have different compilers. If it was a simple C code compiled by GCC for each CPU, the comparison would be better. It would be interesting to see the results for AMD's OpenCL compiler on the i7 and Intel's compiler on Ryzen.
This has been known since Ryzen's release - it struggles a lot with AVX2-heavy codecs such as VP9 and x265. If hashcat was compiled to take advantage of AVX2 then this is expected.
I don't doubt Intels AVX2 will be faster, but I suspect there is more to it than what this guy is saying. I suspect there is a big element of overspecialisation for Intel CPUs and that these programs will need to be tweaked for Ryzens AVX implementation.
There was in interesting submission the other day about performance of the Ryzen vs i7, and how their AVX2 instruction support isn't what it's racked up to be[1]. I'm not really qualified to assess the source or claims accurately, so I'll let others read it themselves and come to their own conclusions, but it was interesting.
1: https://hashcat.net/forum/thread-6534-post-35415.html