A long time coming
We take a look at a GTX 1080 Ti connected to an notebook!
External video cards for laptops have long been a dream of many PC enthusiasts, and for good reason. It’s compelling to have a thin-and-light notebook with great battery life for things like meetings or class, with the ability to plug it into a dock at home and enjoy your favorite PC games.
Many times we have been promised that external GPUs for notebooks would be a viable option. Over the years there have been many commercial solutions involving both industry standard protocols like ExpressCard, as well as proprietary connections to allow you to externally connect PCIe devices. Inspiring hackers have also had their hand with this for many years, cobbling together interesting solutions using mPCIe and M.2 ports on their notebooks which were meant for other devices.
With the introduction of Intel’s Thunderbolt standard in 2011, there was a hope that we would finally achieve external graphics nirvana. A modern, Intel-backed protocol promising PCIe x4 speeds (PCIe 2.0 at that point) sounded like it would be ideal for connecting GPUs to notebooks, and in some ways it was. Once again the external graphics communities managed to get it to work through the use of enclosures meant to connect other non-GPU PCIe devices such as RAID and video capture cards to systems. However, software support was still a limiting factor. You were required to use an external monitor to display your video, and it still felt like you were just riding the line between usability and a total hack. It felt like we were never going to get true universal support for external GPUs on notebooks.
Then, seemingly of out of nowhere, Intel decided to promote native support for external GPUs as a priority when they introduced Thunderbolt 3. Fast forward, and we've already seen a much larger adoption of Thunderbolt 3 on PC notebooks than we ever did with the previous Thunderbolt implementations. Taking all of this into account, we figured it was time to finally dip our toes into the eGPU market.
For our testing, we decided on the AKiTio Node for several reasons. First, at around $300, it's by far the lowest cost enclosure built to support GPUs. Additionally, it seems to be one of the most compatible devices currently on the market according to the very helpful comparison chart over at eGPU.io. The eGPU site is a wonderful resource for everything external GPU, over any interface possible, and I would highly recommend heading over there to do some reading if you are interested in trying out an eGPU for yourself.
The Node unit itself is a very utilitarian design. Essentially you get a folded sheet metal box with a Thunderbolt controller and 400W SFX power supply inside.
In order to install a GPU into the Node, you must first unscrew the enclosure from the back and slide the outer shell off of the device.
Once inside, we can see that there is ample room for any graphics card you might want to install in this enclosure. In fact, it seems a little too large for any of the GPUs we installed, including GTX 1080 Ti models. Here, you can see a more reasonable RX 570 installed.
Beyond opening up the enclosure to install a GPU, there is very little configuration required. My unit required a firmware update, but that was easily applied with the tools from the AKiTio site.
From here, I simply connected the Node to a ThinkPad X1, installed the NVIDIA drivers for our GTX 1080 Ti, and everything seemed to work — including using the 1080 Ti with the integrated notebook display and no external monitor!
Now that we've got the Node working, let's take a look at some performance numbers.
great piece
thanks so much
great piece
thanks so much ken
what is the reason for the variance and stuttering?
i thought tb3 had enough bandwith?
is it a controller issue of some sort?
thanks in advance
stuttering could be due to
stuttering could be due to combinations of what you mentioned as well as latency due to the length of the round trip.
Did you experience different
Did you experience different performance using the laptop display Vs an external monitor? I heard that sending the image back to the laptop reduces performance.
We can’t capture video
We can't capture video directly off of the laptop display to put it through the Frame Rating analysis, so all of the benchmarks here you saw were with an external monitor. I will say from an experience point of view, using the display on the notebook seemed to be equally as stuttery.
after the comment on probably
after the comment on probably wanting a Quad-Core CPU, I kinda want Ken to retest once that Asus Laptop with a Ryzen 7 1700 in it comes out.
He can’t test the Asus laptop
He can’t test the Asus laptop with the Ryzen 7 1700 since thunderbolt 3 is limited to Intel laptops as of now.
Laptop OEMs and their
Laptop OEMs and their motherboard suppliers are free to purchase TB3 controllers from Intel and use them in any product. So if the laptop makers want to buy a TB3 controller for any Ryzen 7 based laptop then Intel will gladly sell them one. Apple announced its macbooks are going to offer external TB3 based GPU support. So that’s probably going to be for Apple’s current Radeon based products. Also see AMD’s XConnect announcment(1). Intel is is the TB3 business to sell TB3 controllers so Intel is not stopping anyone.
Now if Intel(Intel sells a dual TB3 controller SKU) could only provide TB3 link aggregation and if laptop makers would provide enough PCIe links dedicated to only TB3’s bandwidth needs then external PCIe may not be so bad.
Those not so great frametimes/latency on the external TB3 docks is probably related to the time it takes the TB3 controller to encapsulate the PCIe protocol inside the TB3 protocal(Tunneling protocol) and send it over the TB3 cable including the TB3 controller on the external dock reversing the process to deliver the PCIe packets to the external GPU.
What is up with PCI-SIG’s OCuLink external standard that’s stright up external PCIe with no encapsulating/de-encapsulating steps required that add latency.
(1)
“More on AMD’s XConnect Tech: Thunderbolt 3 for External Radeons”
http://www.anandtech.com/show/10133/amd-xconnect-external-radeons
P.S.
“Thunderbolt Goes
P.S.
“Thunderbolt Goes Royalty-Free as Intel Repositions It to Boost Adoption”
https://www.extremetech.com/computing/249902-thunderbolt-goes-royalty-free-intel-repositions-boost-adoption-sales
I have a Dell Alpha r2 with
I have a Dell Alpha r2 with an Nvidia GTX Titan black plugged into the graphics extender. It screams. Everything I throw at it on my 1080p 3D enabled monitor at 144hz works fantastically. Of course the graphics external box is using a proprietary connector that much lower latency and throughput than thunderbolt 3. The graphics extender also has 4 usb ports on it to. Overall I’ve very happy with this set up. I imagine a thunderbolt 4 connection, when ever that happens, will be better suited to the high demands of gaming graphic cards. But Dell still has the only viable, but proprietary solution, for plugging external graphics cards into micro desktops and laptops.
Still too expensive.
There
Still too expensive.
There needs to be a simple DIY kit based on an ITX form factor mobo, so you can run your own case/psu.
Ken great write up finally
Ken great write up finally the dream of many is becoming reality
https://www.wired.com/2017/05/intels-plan-thunderbolt-3-things/
I await next year’s round of amd/intel/*insert chip manufacturers here* thunderbolt devices 😀
Linus did an in depth
Linus did an in depth comparison of these egpu options as well and noticed dramatic improvements using an external display rather than the internal laptop display. The only really good egpu options out right now is the proprietary eGPU setup that Dell is doing with the Alienware laptops. I too have owned this setup and only saw maybe a 5% difference in performance than what I had with my desktop running a Titan Xp in it. I had similar results with a GTX 980ti, and GTX 1080 that i tested. I have heard that Apple’s egpu setup is now the next best behind Alienware and isn’t throttled as much when using the internal display as long as you are using the Macos High Sierra Beta. I really want to see someone run a 1080ti on a mac with the beta, and see compute results, or test the new Vega FE and produce some final cut render benchmark results vs the stock internal GPU and the RX 580 and Vega.
All of the benchmarks you see
All of the benchmarks you see in the article were using an external monitor so that we could capture the video and put it through the frame rating analysis.
I would love to get my hands on the Dell implementation to see if it's any different!
Did you take into account
Did you take into account differences between the TB3 controller hooked up to the CPU pcie lanes versus those hooked up to the chipset via DMI?
> we decided to do something
> we decided to do something that no one would normally do – hook up a GPU over Thunderbolt to a high power gaming desktop.
But have you tried plugging the video from the thunderbolt gpu into a *second* ThunderEX card, so you could have thunderbolt plus video via a single cable? What if someone has this use case but nobody has tested it??
Good article Ken! The
Good article Ken! The results aren’t perfect, but the price coming down, and performance improvements over ultra-light laptops still show this is moving in the right direction.. $300 for the device + a $200 GPU = could be a big upgrade for a light laptop..
So, good if you want just
So, good if you want just 30fps (console equivalent), right?
My problem with this kind of
My problem with this kind of solution is that it’s not much smaller and not much cheaper than a mini-ITX PC. It still has some benefits, but in the end I think that a full desktop PC is better than a static docking station of equal size.
What I’d like to see in the future is a new class of external graphics cards, coupled with a standard for an external PSU (at the low end the PSU could use thunderbolt to connect, which supports up to 100W, although that could be a little confusing).
I see eGPU boxes as an intermediate solution. Zotac’s Thunderbolt 3 External Box is probably the largest solution I’d consider getting.
It would be nice if users
It would be nice if users could network PCs/Laptops/Mini PC SKUs over TB3(At full 40Gbs bandwidth and not just that new TB3 ethernet mode) and have the OSs cooperate like as if the LANed up via TB3 systems where a computing/gaming cluster like platform. These expansion boxes are as expensive as low cost full PCs, so that price will have to fall some more to attract more sales. Most windows based Laptops still do not support TB3, or TB’s previous versions.
I wonder how Ryzen, or Intel, systems could accomodate any PCIe pass-through coming from a laptop to a PC with the laptop using the PC’s GPU. AMD’s GPUs are better for virtual GPU sharing among OSs under KVM/Linux OS(windows, or linux, via KVM) instances(According to Level One Techs). But what about a PC that can allow a TB3 based laptop to make use of the PC’s GPU hardware over a TB3/PCIe interface. That type of useage would be similar to game streaming. Maybe a PC could be configured to run headless and allow the laptop virtural access and headless control to use a TB3 attatched/networked PC’s GPU/other resources, but that appears to be a bit different than simple game streaming.
I have also wanted something
I have also wanted something like that for a while.
It’s possible to make a really small mini-ITX computer (not to mention prebuilt boxes with MXM GPUs). But when you add screen, keyboard and mouse it’s no longer as small.
I kind of think that a combination of ultra portable laptop with a limited CPU (perhaps even something like a Chromebook) which could act as a “dumb” screen/keyboard/mouse when plugged into a separate CPU/GPU box could be really useful.
I personally didn’t consider looking into running something like a hypervisor before, but that could be a way to hack in the functionality into something existing. If it’s possible to create a “shim” client OS that acts as the “remote desktop” on the laptop.