12 Gamers on 3 GPUs?!? – Cloud Gaming Server Pt.8 — Transcript

Jeff explores running 12 gamers on 3 GPUs using NVIDIA vGPU unlock on consumer cards in his cloud gaming server project.

Key Takeaways

  • NVIDIA's 2023 policy change unlocked virtualization capabilities for consumer GPUs.
  • Community scripts can enable vGPU features on GeForce and Quadro cards previously reserved for Tesla GPUs.
  • vGPU technology allows a single GPU to be shared across multiple virtual machines for gaming and desktop workloads.
  • Parsec is an ideal client for low-latency, high-quality remote GPU-accelerated desktop streaming.
  • Running 12 gaming VMs on just 3 GPUs is feasible, showcasing scalable cloud gaming server potential.

Summary

  • Jeff discusses the challenges and breakthroughs in virtualized GPU (vGPU) support using Tesla K10s and consumer NVIDIA cards.
  • He explains the difference between PCIe passthrough and NVIDIA vGPU technology for sharing GPUs across multiple virtual machines.
  • The video covers the impact of NVIDIA's 2023 policy changes allowing consumer GPUs to be used in virtualized environments without driver shutdown.
  • Introduction of a community-developed vGPU unlock script enables GeForce and Quadro cards to emulate Tesla GPUs for vGPU functionality.
  • Jeff highlights the hardware similarities between Tesla and GeForce GPUs and how software unlocks enable vGPU features on consumer cards.
  • Parsec is recommended as the best client for full desktop experience with GPU acceleration and low latency streaming.
  • He demonstrates running 12 virtual gaming PCs powered by only three GTX 1070 Ti GPUs, achieving 1080p 60fps gaming.
  • The project aims to create a scalable, cost-effective cloud gaming server with multi-VM GPU sharing for LAN party style setups.
  • Jeff mentions upcoming tutorials on setting up vGPU unlock on Proxmox and Hyper-V with various configurations.
  • The video includes a sponsor message from Harry's and ends with a casual sign-off featuring a craft beer.

Full Transcript — Download SRT & Markdown

00:05
Speaker A
That when I bought the Tesla K10s, I was not aware that virtualized GPU or vGPU support was not enabled on them. There are some clearing problems with this type of setup, but I think we will get into that in the next video.
00:23
Speaker A
Now, having all the required software and then getting all of that required software up and running are two very different conversations. Let's be honest, no one actually enjoys shaving. Sure, you like looking your best, but getting there can be a pain.
00:42
Speaker A
Between the actual pain of shaving to the absurdly high cost of razors, who can blame anyone for going full mountain man? Luckily, Harry's is here to help on both fronts. With their own factory in Germany, they're able to deliver a close,
00:54
Speaker A
comfortable shave with top-quality razors at a fair price, so you can forget driving to the store and waiting for someone to unlock the cabinet. Also, you can spend $35 on four blades. Harry's will deliver razors straight to
01:06
Speaker A
your door for as little as two dollars each, with or without a subscription. Buying from Harry's, you'll also be supporting great causes, as one percent of their global sales are donated directly to nonprofit organizations to provide mental health
01:17
Speaker A
care for men, veterans, and LGBTQ plus youth. Visit harrys.com/craftcomputing and get started with their trial set for only three dollars, which includes their rubber-handled razor, attached blade, blade cover, and their smooth foaming shave gel. That's harry's.com/craftcomputing to
01:33
Speaker A
get your three-dollar trial set, and thanks again to Harry's for sponsoring today's video. Welcome back to Craft Computing, everyone. As always, I'm Jeff, and this is part eight of my cloud gaming server project. And for once, I'm celebrating. Around me
01:50
Speaker A
are all of the different graphics cards that I purchased for this project over the last couple of years, mainly because I wanted to show just how far this project has ballooned from its pretty modest beginnings. When this all started, I had some pretty
02:03
Speaker A
simple goals in mind. I wanted to be able to have thin client access from a Raspberry Pi to a full desktop experience. That means playing Windows games at 1080p resolution and 60 frames per second, as well as access to full desktop
02:16
Speaker A
applications like video editing or even just a full-fledged web browser with GPU acceleration. I wanted the experience to be scalable across multiple virtual machines. I wasn't looking for just a one-off VM, as that kind of thing has been done
02:30
Speaker A
before with single graphics cards. Rather, I wanted a single graphics card to be able to power multiple virtual machines. Also, I was looking at keeping costs to an absolute minimum, and we've since blown that one out of the water. First off, let's go through a
02:43
Speaker A
quick refresher just in case you forgot what happened in the first seven parts of this video series, like me, because it's been about six months. I'm using a technology called NVIDIA vGPU or virtualized GPU. Now, this is not to be confused with PCI
02:57
Speaker A
Express passthrough, which is passing through a single GPU into a virtual machine. Rather, this is dividing a GPU's resources between multiple VM clients while the host maintains full control of the graphics card. vGPU is a technology that's been
03:11
Speaker A
reserved for either Tesla or Grid-branded NVIDIA graphics cards. The GPU drivers are downloaded in pairs: one for the host OS, in this case, I'm using the KVM driver for Proxmox, and one for the client OS, which can be
03:24
Speaker A
either a Windows or Linux virtual machine. In order to take advantage of the graphics acceleration inside of a virtual machine, you also need a client that's capable of displaying the full desktop experience. There are some game clients out there
03:35
Speaker A
that can do this, like Steam Play or even NVIDIA's own game streaming. However, there are clients that can't do this, such as VNC or Microsoft's Remote Desktop. The best system I found for this is Parsec, which is a free application you
03:48
Speaker A
can download from parsec.app. It allows for a full desktop experience and is compatible with NVIDIA's NVENC encoder, meaning you get low bandwidth, low latency, and high frame rate streams straight to any client that you'd like. Speaking of clients, they are available
04:02
Speaker A
for nearly any system you can think of: smartphones, macOS, Chrome OS, Raspberry Pi, Windows, Linux. I've played games on pretty much every client OS you can think of with a great experience each and every time. Now, obviously,
04:15
Speaker A
all the graphics cards in front of me represent a number of failed attempts, shall we say, rather than rehashing all of them now, I'm just gonna link you to the playlist right up here so you can see the
04:25
Speaker A
previous seven videos and get an idea for all the graphics cards and their associated hardships. Rather, I'm gonna try to summarize in a nice tidy paragraph right here. There's been a whole lot of failure with all of these GPUs and very little
04:39
Speaker A
promise of actually achieving my goal, that is having a six gamer, one CPU, but in a 100 headless LAN party in a box type setup. So what's changed between now and my last couple of attempts? For starters, let's rewind to March of this
04:53
Speaker A
year, where NVIDIA made a drastic policy change regarding virtualization of consumer graphics cards. While PCI
05:08
Speaker A
Express passthrough has always been possible on the physical side of things, NVIDIA locked that feature down only for Quadro and Tesla-based GPUs.
05:21
Speaker A
Any NVIDIA GeForce card that was passed through to a virtual machine had the drivers programmed to literally shut themselves off if any virtual hardware was detected. This meant that even if you own two different graphics cards, you couldn't stick them into the same
05:36
Speaker A
machine and run two different systems simultaneously. The policy change immediately allowed for any Kepler or newer-based NVIDIA graphics card to be passed through to a virtual machine and work at full speed with full functionality enabled. While my GTX 690s were still kind of a
05:52
Speaker A
bust, I was able to successfully pass through a GTX 1080 and a GTX 1650 to two simultaneous virtual machines inside the same system. Change number two came in the form of the community digging into NVIDIA's vGPU system just a couple weeks after NVIDIA fixed
06:07
Speaker A
their code 43 issues. The first version of the vGPU unlock script was released on GitHub. The script essentially allows consumer GeForce and Quadro cards to run as vGPU hosts on simultaneous virtual machines, something that's been previously reserved for only Tesla or Grid-branded
06:23
Speaker A
cards. But how does this work? I thought Tesla cards were some rare unobtanium with physically different hardware. Actually, there's very little difference physically between, say, a Tesla K10 and a GTX 690. The GPU cores in both are absolutely identical,
06:38
Speaker A
being a GK104 GPU. The Tesla card simply has more memory with ECC support, more stable and validated drivers for specific workflows like compute and machine learning, and some additional features unlocked through firmware. Some generations of Tesla GPUs included tensor cores, while
06:52
Speaker A
the GeForce cards went without that feature. However, as of NVIDIA Turing and Ampere GPUs, tensor is now included in the standard GeForce lineup. However, the function we're after today, vGPU, has never relied on exotic hardware like tensor cores.
07:04
Speaker A
It was always 100% a software and driver-side function, which was only allowed to run on Tesla series cards, which brings us to the vGPU unlock script. It detects which GeForce or Quadro card you have installed in your
07:16
Speaker A
system, intercepts the PCI calls from the card to the OS, and responds instead with the ID of the Tesla variant. For this to work, you need to have a GeForce or Quadro card with the same physical GPU core as its Tesla
07:30
Speaker A
equivalent. For example, the GTX 1070 Ti's I have in this system have a GP104 GPU core, which is identical to the Tesla P4. You then need the Tesla P4 NVIDIA Grid driver for your hypervisor, which is downloaded in a package along
07:43
Speaker A
with the drivers for the client VM. To enable all features inside the client VM, you'll also need an associated NVIDIA Grid license, which does require you to run a license server and have a current subscription with NVIDIA. There is another method,
07:55
Speaker A
though.
08:08
Speaker A
of your streaming connection second there's no licensing needed to pass through a quadro card into a vm a simple command changes the vgpu profile on each of my vms from an nvidia p42q into a 2 gigabyte quadro p6000 now
08:23
Speaker A
this is very clearly subverting nvidia licensing so why am i okay with it and why am i even showing you well because nvidia already kind of let the cat out of the bag on this just on a different platform you see
08:36
Speaker A
back in march nvidia wasn't just gracing us with a new feature by disabling their code 43 lockout in geforce cards instead this was a decision made after working together with microsoft on a new bit of software for hyper-v
08:48
Speaker A
called gpup or gpu para virtualization essentially gpup is microsoft's version of vgpu and mx gpu from amd allowing you to share gpu power with virtual machines inside of a hyper-v server the best part this system is 100 free to
09:04
Speaker A
use and if you have a windows 10 license you can actually use it right now which is why we need to talk about the system under my desk before we talk about the system that's on top of it while
09:14
Speaker A
it's not nearly as impressive looking as my epic server here it is still rocking a ryzen 3800x and an rtx 2080 running windows 10 pro along with a hyper-v server installed on that server are three virtual machines dynamically sharing the resources of
09:29
Speaker A
that rtx 2080 if one of the machines is 3d rendering it can have full access to the entirety of the 2080s power however if multiple vms are in games the power will be split equally between them so after my nearly two year long journey
09:43
Speaker A
it turns out microsoft and hyper-v have pretty much solved all of my problems being able to split a gpu between multiple virtual machines without the need for special licensing or hardware just the gpu you already have installed in your system and
09:56
Speaker A
this whole thing is actually scalable if you add more gpus to the host you can add more virtual machines to take advantage of that additional horsepower so long as your host cards use identical drivers performance is rock solid as
10:09
Speaker A
well here you can see me playing crisis in a vm over parsec while two other virtual machines are going to town on heaven benchmark crisis is running at 1080p max settings and heaven is running at 1080p high settings with moderate tessellation
10:22
Speaker A
don't worry i will be doing a full video tutorial on getting gpup up and running in the next week or so so make sure you're subscribed so you don't miss that one it'll let you share your gaming rig with
10:32
Speaker A
other people whether they live in your house or not all without building them their own pcs so on the one hand we have nvidia allowing microsoft clients to have full benefits of vgpu functionality without any licensing costs or hoops to
10:45
Speaker A
jump through and on the other hand we have all of our linux based hypervisors but you'd better have more money than corsair set aside if you want tesla gpus your own licensing server as well as hypervisors like esxi and
10:58
Speaker A
vsphere for configuring your own vgpu clients or you can run this vgpu unlock script and have full access to virtual gpus on consumer hardware like the three gtx 1070 ti's i have installed in here right now i'm not making this video so much as a
11:13
Speaker A
middle finger to nvidia either i'm simply trying to show that there are use cases for home users consumers and small businesses that could very much benefit from vgpu technology right now i have a virtual machine running in one of my servers with a
11:26
Speaker A
quadro p1000 card pass through this lets my video editor log in via parsec and run adobe premiere as if you were sitting right in front of the pc with a full 4k desktop experience it lets us collaborate on video projects
11:39
Speaker A
as if we were sitting right next to each other and also negates the need for us to transfer hundreds of gigabytes of files over the network from mine to his because my files now no longer need to leave my own network
11:50
Speaker A
i've also used parsec in the last year to stream games from my gaming pc to my gpd win1 handheld and my daughter uses her chromebook all the time at our in-laws house to play minecraft from her desktop pc
12:01
Speaker A
so what if we didn't actually need those desktop gaming pcs instead we could build a single server set it in another room and just use the thin clients that we already have like a phone a chromebook or even a raspberry pi
12:14
Speaker A
so that's a lot of talk about how we got from there to here but how does the system i built today actually run honestly this has exceeded every expectation i have ever had for this project in fact i don't just have six gaming pcs
12:28
Speaker A
on here i split this up into 12 gaming pcs that's right i have 12 virtual machines running 1080p games at low settings 60 frames per second using only three 1070 ti graphics cards how freaking crazy is that now before i
12:44
Speaker A
started filming this video i wanted to run the system through a proper test but in the 12 gamer configuration i have it in right now i'm running into limitations that don't even involve the gpus i know i'm as shocked as you are right
12:57
Speaker A
my storage for example is a pair of 1.92 terabyte sata ssds in a zfs mirror giving me a one gigabyte per second theoretical read speed if all 12 virtual machines are trying to read data at the same time
13:10
Speaker A
i'm reduced down to speeds well below even modern spinning drives and latency also shoots through the roof realistically i would love to add some nvme 4.0 storage to get enough performance to run 12 simultaneous virtual machine instances and i think it is totally doable however
13:26
Speaker A
i first need to swap out the epic 7601 for an epic roam cpu with pcie 4.0 support also upgrading any of the storage at all is not doable with the gpus in their current configuration and by that i mean the gpus are
13:39
Speaker A
currently covering the three 8x slots that i have on this motherboard meaning that if i want to expand the system anymore i'm gonna have to water cool the graphics cards network speed is also a major concern as well not my
13:52
Speaker A
local network speed because even one gigabit is more than enough for 12 simultaneous game streams i'm talking my internet upload if i want people to actually test this thing i have a 50 megabit upload right now which isn't half bad
14:05
Speaker A
but the average parsec stream at 1080p 60 is about 8 megabit per second meaning i can only stream about 5 clients before my isp will give up the ghost but don't worry i'm actually considering co-locating this box to a gigabit upload
14:19
Speaker A
so we can uh let her stretch your legs a little bit so at this point you're probably thinking to yourself you've made it this far into the video and i still haven't talked about the performance of the individual vms
14:29
Speaker A
what gives well let's put it this way i have been able to run 11 unique instances of heaven benchmark and game on the 12th virtual machine over parsec to some pretty fantastic results crysis was able to play at 1080p medium
14:42
Speaker A
details at a locked 60 frames per second with this workload the three gpu saw around 90 utilization with temps hovering around adc this is with a 50 fan speed meaning this entire rig is actually office friendly with 12
14:56
Speaker A
virtual machines fully loaded and in-game there's still a ton of testing left to do in game performance before i call this project a complete success i also will likely run into memory limitations running the gpus in a 12-way
15:09
Speaker A
split as each virtual machine is only left with about 2 gigabytes of video memory while that is plenty for older titles modern games may struggle even at 1080p low settings the beauty of vgpu though is i can dynamically shift the amount of
15:22
Speaker A
memory available to each virtual machine if i want to run six vms with four gigabytes each that is also a completely valid configuration it also remains to be seen if we'll see similar end think dropout issues like we
15:33
Speaker A
did on the tesla m60s as we haven't really pushed the 1070 ti's to their limit yet but so far video encoding has worked spectacularly well even with the gpus flirting with 100 utilization at times this is obviously far from the last
15:47
Speaker A
video i'm going to be making about this subject i'm currently in the process of writing up full tutorials along with multiple configuration options for both proxmox vgpu unlock as well as hyper-v and gpu para virtualization i'll also be doing some hybrid setup
16:00
Speaker A
videos as well like how to share a single gpu from your workstation or gaming rig with additional virtual machines lots of really cool projects coming up on the channel but i'm also open to suggestions as well let me know if you have any down in the
16:12
Speaker A
comments below and on your way down there make sure to drop this video a like and subscribe to craft computing if you haven't done so already follow me on twitter craft computing to keep up with daily shenanigans like
16:22
Speaker A
this and if you like the content you see on this channel and want to help support me in buying more enterprise gpus or something like that make sure to look me up on patreon or floatplane links are also down in the
16:33
Speaker A
video description as a bonus you'll get exclusive access to my discord server where you can chat with myself and the other hosts from talking heads that's going to do for me my empty stomach and this fantastic 11.5 imperial stout thank you all so much for
16:46
Speaker A
watching this one and as always i will see you in the next video cheers guys [Music] beer for today is from my i'm letting it age collection this is the santiam pirate stout uh but this isn't just their
17:08
Speaker A
normal pirate stout which is a fantastic brew in its own right this is their pirate stout governor's reserve barrel-aged coconut stout and this has been barrel aged in rum barrels not only that this bottle is from 2017.
17:24
Speaker A
it's not often i'll open something like this just for a video but i feel like celebrating today this is one of my favorite beers i think this is the longest i've ever let one age as well uh i had one bottle that i saved for
17:38
Speaker A
about three years but we're going we're pushing four with this one super rich chocolate rich dark bitter on the finish sweet up front roasty but without it's not a coffee roast let me be very clear about that um
18:00
Speaker A
this is something dramatically different from your traditional barrel-aged imperial stout which usually has some espresso or something like that this is roasty in a whole different kind of way
Topics:NVIDIA vGPUvirtualized GPUcloud gaming serverGPU passthroughParsecTesla K10GTX 1070 Tivirtual machinesProxmoxHyper-V

Frequently Asked Questions

What is the difference between PCIe passthrough and NVIDIA vGPU?

PCIe passthrough dedicates a single GPU to one virtual machine, while NVIDIA vGPU divides a single GPU's resources across multiple virtual machines, allowing shared usage.

Can consumer NVIDIA GPUs be used for vGPU virtualization?

Yes, due to a 2023 NVIDIA policy change and community-developed unlock scripts, consumer GeForce and Quadro GPUs can now emulate Tesla GPUs to enable vGPU functionality.

What client software is recommended for GPU-accelerated virtual machines?

Parsec is recommended as it supports full desktop experience with NVIDIA NVENC encoding, providing low latency and high frame rate streaming across multiple client platforms.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →