I agree entirely that AMD are the ones pushing the envelope however I am also well aware (because I am working with AMD on them) that the new AMD generations have major bugs that AMD had fixed that keep coming back in each generation.
AMD Threadripper:
* Issue that prevents PCI devices from being reset making them inaccessible until a hard reboot is performed.
* CPU scheduler on the last core was not exposed to the OS preventing it from being set to a performance profile.
* CPU core numbering didn't follow the already set Intel standard preventing the OS from knowing which threads were paired for each HT pair per core.
* CPU core numbering was changed to fix the above, but then reverted in the next update, and then fixed again in the update after that
* Missing CPU scheduler bug returned and then was fixed again
* NUMA issues... oh so many NUMA issues
* IOMMU groupings keep getting changed around every few updates (if you use SR-IOV or VFIO, you care about this)
These are all mostly fixed now except for the reset issue, it still plagues some as it's partly CPU related and chip-set related.
Then AMD released the Zen+ CPUs a year later and PCI reset issues that were fixed for TR are back, and the cause is the same issue...
AMD Vega (All variants):
* Random hard crashes under Linux with the official AMDGPU drivers
* Broken support to reset the SOC and return it to an operational state
* Missing support to program the SOC for PCIe 3.0 bus speeds under Linux (maybe windows too)
If you ever wanted to use NPT (nested page tables) for virtualization with sr-iov devices (ie, network/gpu device pass-through) your performance would have been sub-par because of a bug that AMD failed to identify and fix in the Linux kernel for 10+ years which
I ended up fixing.
This makes me doubt the new PCIe 4.0 technology and chipsets, I personally will be holding off until the tech has seen more widespread usage.