Is Intels Virtualization (vt-d / vt-x) and PCI-passthrough faster than AMDs (V / Vi)?

After talking about my upcoming new PC build a friend told me that Intels Virtualization technology (Vt-d / Vt-X) is way faster than AMDs (V / Vi), and that if I want to pass a PCIe device through to a virtual Win10 guest system, I would get a hefty performance penalty on AMD because their Ryzens are not designed to directly access/control IOMMU groups and that I HAVE to get an Intel system to avoid those problems. There were some numbers during the conversation, ranging between “about 90% of possible fps on AMD, maybe less” and “at least 30% performance loss on AMD”.

Though I find one forum post on tomshardware with the “best answer” claiming Intel is “better” with IOMMU, I can’t find any reliable data on that topic, especially if it comes to PCI-passthrough. I never heard about any noticable performance differences between team Red and team Blue regarding virtualization myself, which is why I planed to go for a Ryzen 7 / X570 based system on Arch Linux, including a Win10 guest system with a 5700 XT passed through for games.

Hope you can help me out here, I really don’t want to buy unsuitable hardware.

It depends on the use cas, but due to security, Intel recommends disabling hyperthreading, which would make them about random percentage slower.

To be real honest, search for builds with your use case in, and make sure they are discussed as post meltdown.

Ryzen 1700 and up runs a win 10 guest perfectly well, with a GPU passed through. Haven’t got/had any lower AMD one to test

1 Like

Without any data to backup his claims your friend is talking smack.

Frankly this justification make no technical sense.
That’s not this works, that’s not how any of this works.

Has he considered that any single Ryzen chip is one of 4 or more chips identical to those of an AMD Epyc server CPU. A CPU built specifically to do virtualization and IO virtualization exceptionally well. :smiley:

Now granted I don’t have numbers on hand here right now either, but both intel and AMD have a neglibible performance impact for virtualized operation and IO.

From my personal testing with just running benchmarks and games (there’s a big post in a thread here somewhere with Assassins Creed Odyssey tests of mine as well as 3D mark runs and the performance impact between bare metal and virtualized is essentially barely a smidge. Some things even ran faster virtualized than on bare metal under windows (something wendell has experience with)

2 Likes

Yeah, sounds like your friend is bullshitting you.

I am sorry about my post earlier, I am a fan of AMD, and even though they might not have the very top chips, I genuinely believe they pull above their weight in each category.

But you should research and choose the best option for you. The current top of the line Intel chips do have a higher stock and boost clock, so if your apps are older, or don’t multi thread, Intel would be better for you

Right, but he’s asking about IOMMU specifically.

Obviously there’s no veracity to any statement of an IOMMU implementation causing a difference in performance, especially given OP’s friend’s statements.

there was an issue a couple years back now that AMD’s implementation of Nested Page Tables was not being properly utilized in the Linux Kernel, causing horrible performance, but that’s not the case anymore. It’s been patched for a fair few kernel releases now.

Thank you all for your replies!

I already thought it can’t be that bad, but since he’s running an IT business I had to ask here too. His claims are based on an AMD Ryzen-based system he had at home as well as one of his servers with an EPYC CPU in it, which, according to him, performed so incredibly awful in heavy virtualization work compared to Xeon’s / i7 he’s only using them for less important tasks and/or private stuff.

I’ll go for the Ryzen system now and hopefully do some benchmarks in the next weeks to post here! :wink: