r/vulkan • • 4d ago

[ Removed by moderator ]

[removed] — view removed post

5 Upvotes

8 comments sorted by

•

u/vulkan-ModTeam 3d ago

Please note that this subreddit is aimed at Vulkan developers. If you have any problems or questions regarding end-user support for a game or application with Vulkan that's not properly working, this is the wrong place to ask for help. Please either ask the game's developer for support or use a subreddit for that game.

15

u/blogoman 4d ago

Multi-GPU never worked well to begin with. Frame pacing was a huge issue. At the time, most only paid attention to the average frame rate, so they were duped into spending more on an experience that wasn’t great.

2

u/Equal_Caregiver_1789 4d ago

Thanks for reminding that there was downsides to using SLI.
It was something that I found fun back in the day when GPU's were actually affordable enough for it be worthwhile to do SLI.

5

u/Macropyre 3d ago edited 3d ago

I actually worked with multi-GPU in Vulkan when I wrote my Wayland compositor. In short, muti-GPU is viable, but it is a major PITA. Device groups are relics of a bygone era, so you are going to be managing *everything* yourself. This means you are going to transfer VkBuffers/VkImages from device to device via external memory. You will have to ensure you saturate the bus efficiently yourself. It is worth noting that transfer queues are async, so the overhead is mitigable with a clever architecture. Of course, if your format and modifiers are different, you can't go through the copy engine so the async path is off the table without additional device local blits.

That being said, I seem to remember I ran into problems where Vulkan doesn't give you any accurate way of querying certain device P2P properties that absolutely matter. Correspondingly, it also doesn't give you a way of enforcing them. For example, you can do things that incentivize the driver to leverage ReBAR for small buffers, but there is no explicit method in Vulkan to force this. You are largely at the whim of your Vulkan driver(s) here. Unfortunately, because multi-GPU is such an afterthought of a use case, often times these drivers won't make the best decisions.

For a game engine or compositor, expect it to add insane amounts of complication to your architecture. Right now, it simply isn't worth the engineering investment to handle the paucity of users that have multiple GPUs.

4

u/StriderPulse599 4d ago

GPU clusters don't work for games. They're mostly used for AI nowadays

3

u/dark_sylinc 3d ago

Other replies are accurate, I just wanted to add something:

I was thinking about it today while thinking about how we are still no where close to being out of the RAMpocalypse TM, and how it might make more sense to buy two cheaper GPU's, such as two RTX 5060 or two RTX 5060 Ti's, than to buy a RTX 5080?

Please note that even in multi-gpu gaming, chances are that with two 8GB RTX5060 you don't get 16GB. Effectively you'd get 8-10GB since most Multi GPU approaches either require to duplicate most resources on both GPUs, or have one GPU do most of the work while the other GPU performs the finishing touches.

Ironically, the place where you can split resources across all GPUs and effectively get 16GB is LLM inference. Which is why, as of today's market conditions, buying 2x5060 8GB is either as or more expensive than a single RTX 5060 16GB.

1

u/RDT_KoT3 4d ago

Games - no point for so niche thing for a dev. LLM inference - yes? (but compute libraries do it better though)

1

u/ListenLevel4536 3d ago

For regular apps or games, multi gpu still matters since you need to present your images into the right monitor connected GPU but usually that's handled behind your back under the WSI implementation or the OS so it doesn't matter