34 ms·
MacOS finally gains external GPU support
- libdjml 9y agoCan anyone comment on whether this will be useful for training neural networks?
- kogir 9y agoYes, it will allow you to use a much more powerful graphics card, as long as your training isn't limited by bus bandwidth.
- malcolmgreaves 9y agoOnly if the software you have supports it. For example, Tensorflow on OS X doesn't use GPUs since version 1.2
- minimaxir 9y agoNo. Officially, this doesn't support NVIDIA cards yet, which are a requirement for any modern DL framework. There are beta NVIDIA drivers (http://www.nvidia.com/download/driverResults.aspx/131833/en-us http://www.nvidia.com/download/driverResults.aspx/131833/en-...) for macOS, but your mileage will vary.
- samcat116 9y agoThese aren’t beta drivers. They’ve been released for quite some time and are updated with (almost) every macOS release. However I’d say they’re pretty barebones as Nvidia doesn’t seem to care too much about the Mac at this point.
- minimaxir 9y agoThe notes say "Includes BETA support for iMac and MacBook Pro systems with NVIDIA graphics." (specifically, Pascal drivers) The reason for that is Apple hasn't shipped a iMac/MacBook Pro with an NVIDIA card in years, which is especially annoying for DL work.
- michaelgreen 9y agoIn practice they work just fine, it's just very annoying to initially set them up and you have to do some patching to get the latest version of tensorflow working with it. I use one every day and I haven't run into any problems while running models with both pytorch and tensorflow.
- mkagenius 9y agoThere is a project working for this: https://github.com/plaidml/plaidml https://github.com/plaidml/plaidml
- bitL 9y agoIMO it's more cost effective and stable just to buy a Ryzen 2400G system (the same cost as a good eGPU case), put in Linux and use it for training at a full speed. TB3 has 4x lower throughput than PCIe, so if you need to transfer a lot of data (any meaningful non-toy model these days), it's better to stick with internal GPU. Not mentioning Linux is 1st class/preferred platform for many frameworks like TensorFlow etc.
- walshemj 9y agoI say for thease sort of application why bother with MAC at all just go with Ryzen or wait for Ryzen2 out this month or go the full Threadripper or Eypc / Rome
- michaelgreen 9y agoSo I've been using an eGPU for about 3 months now and it is amazing. This isn't officially supported so you end up having to do a lot of work arounds to get things like tensorflow/pytorch working. It doesn't let you hot plug your eGPU into your computer (you have to restart for it to work) but for officially supported eGPUs you're now able to do that. I've trained various models using a Titan XP and it's so awesome to be able to maintain the portability of your laptop and still get all of that power. A large benefit is also not having to move training data around between servers and other machines if you have it on an external drive or just on your laptop. After you get everything up and running there isn't that much maintenance or anything you have to do regularly to keep it working. The speedup is incredible and it was definitely worth it for me personally, however it's not a walk in the park to get it set up initially.
- dmix 9y agoNeat. Have you tried it with any games?
- michaelgreen 9y agoI've tried it with an external monitor which works great but I haven't tried it with any games. From looking at the eGPU forums it seems like people aren't running into that many problems with it.
- ovao 9y agoApple has a pretty decent summary of the feature in this support article: https://support.apple.com/en-us/HT208544 https://support.apple.com/en-us/HT208544 Seems to be limited to AMD GPUs at this time.
- simongray 9y agoAnd limited to Macbook Pro. Damn, I was hoping they would include support for Macbooks.
- navidfarhadi 9y agoMacbooks don't have a TB3 port
- tomca32 9y agoWhich is a shame. This is the only reason my wife still uses old 11" Mac Air. She has an Apple Thunderbolt screen which she doesn't want to replace and is unusable on the Macbook. Pros are just too big for her, so she keeps on using the old Air.
- lostlogin 9y agoThe current MacBook similar size bigger screen, but wow is the dongle life a horror.
- nkkollaw 9y agoIt's not only a horror, it's idiotic and completely avoidable. Some people say it's an upgrade, but I don't see why they couldn't upgrade and keep the other ports around, since people need those daily. For sure I've used my 89-euro dongle a lot more than I've used the USB-C port (which is never), until I got sane again after 8 years of getting overcharged by Apple and switched to Microsoft hardware running Xfce Linux (which are both wonderful).
- sharkenstein 9y agoI've always been curious about this. How can I try it out if I already own a GPU?
- navidfarhadi 9y agoYou will need to buy a TB3 eGPU enclosure. These range anywhere from $200 to $500 and typically come without a GPU. There are some more expensive options (like the Aorus Gaming Box with a GTX 1070/1080 or RX 580) that already come with a GPU installed. Here is a nice comparison of the eGPU enclosures available today: https://egpu.io/external-gpu-buyers-guide-2018/ https://egpu.io/external-gpu-buyers-guide-2018/ My personal recommendations are the Akitio Node Standard/Pro or Sonnet Breakaway Box 350/550/650. These companies are reputable companies in the Thunderbolt hardware realm. Note that I am not affiliated with any of the companies mentioned above.
- samcat116 9y agoYou would need an external Thunderbolt 3 enclosure for your GPU
- pixelHD 9y agoYou'd have to buy an eGPU case, along with a GPU. Apple recommends Sonnet case with AMD GPUs [0]. However, as seen here [1], people have managed to use other GPU cases, with NVidia cards. 0: https://support.apple.com/en-us/HT208544 https://support.apple.com/en-us/HT208544 1: https://egpu.io/build-guides/ https://egpu.io/build-guides/
- chrisper 9y agoAs others mentioned, you will need a case. You will, however, also need a device with TB3.
- china 9y agoPerviously
- bischofs 9y agoWhat is the point of this if it doesn't support any GPUS with a osx driver? I was under the impression that PCI-E was supported by TB3 - the little squabble between Nvidia and Apple needs to stop.
- saagarjha 9y agoAs others have mentioned in this thread, Nvidia provides drivers for their graphics cards on macOS.
- mediocrejoker 9y agoIs it true that they disabled support for TB2 eGPU and in doing so broke many people's current setups (on pre-2016 hardware)?
- yuhong 9y agoDid anyone filed a bug about this in Radar?
- grzm 9y agoThere are reports from 2 weeks ago that it was removed from the 10.13.4 beta.[0] I haven't seen reports about the status in the release. [0]: https://appleinsider.com/articles/18/03/14/thunderbolt-thunderbolt-2-egpu-compatibility-purged-from-macos-high-sierra-beta-5 https://appleinsider.com/articles/18/03/14/thunderbolt-thund...
- panoply2 9y agoWanted external GPU support while traveling some to be able to do deep learning on the road. Too bad this is only AMD support.
- Eric_WVGG 9y agoThis is speculation, but I’m betting that we will see a GPU-backed external display (sort of an iMac minus the Mac) sometime in the next year. Apple never builds out support like this unless they plan on having a product to sell. And they seem to generally "dislike" putting discrete GPUs in laptops, going all the way back to the Titanium G4 days.
- solarkraft 9y agoWhile I find your prediction very plausible I could also imagine them just wanting to support 3rd party accessories.
- Alex3917 9y ago> Apple never builds out support like this unless they plan on having a product to sell. Developers have been starting to leave the platform because there aren't any MBPs that can be used to create VR content. While I agree that they will likely release something, their hand was also forced here.
- pjmlp 9y agoNot all developers care about VR, and Apple OS never were much relevant on CAD or gaming development anyway, other than those targeting iOS devices. For those devices, even current hardware is good enough. It is no point being able to produce VR with a level of detail that an iPhone is not able to cope with.
- mietek 9y ago> Apple OS never were much relevant on CAD “Development of ArchiCAD started in 1982 for the original Apple Macintosh.” https://en.wikipedia.org/wiki/ArchiCAD https://en.wikipedia.org/wiki/ArchiCAD
- pjmlp 9y agoRelevant in money, market share, not what started on the Mac. Excel was also released initially on the Mac.
- bitL 9y ago"How to downgrade your 1080Ti to 1060 by paying additional $400"
- chrisper 9y agoWhy would this downgrade?
- wishinghand 9y agoThe OP is being a little disingenuous because I'm not sure Nvidia is supported anyway, but you lose some (not enough to go from 1080TI to 1060) performance. Something like 5-10%, depending on if you send the video signal to an external monitor or back to your laptop's screen.
- opencl 9y agoMore like 20-30% on high end cards. But it's also very workload-dependent. https://egpu.io/forums/mac-setup/pcie-slot-dgpu-vs-thunderbolt-3-egpu-internal-display-test/ https://egpu.io/forums/mac-setup/pcie-slot-dgpu-vs-thunderbo...
- bitL 9y agoFor gaming. Also don't forget the annoying latency. But if you need to transfer from/to GPU memory all the time, like in large Deep Learning training datasets, you downgrade your GPU significantly; that's why I wrote 1080Ti -> 1060. You already have high end PCIe GPUs starved and waiting on memory transfers in Deep Learning all the time. You could have observed something similar with e.g. SATA 1/2/3 SSDs and M.2 PCIe. For normal workloads, each new generation was slightly better performing, i.e. booting OS etc. But once you went into processing 4K RAW video, only M.2 PCIe was usable.
- imagetic 9y agoCUDA support is pretty critical for a lot of media production. I'm thankful that official support is here. The downside is a Mac Pro looks like a rats nest of cables with external video I/O cards, 10GbE cards, eGPus. It's a much larger physical footprint than a tower with a lot more technical troubleshooting resulting in making sure a crappy thunderbolt 2 cable is seated correctly.
- waynecochran 9y agoSo nVidia cards are indeed supported?
- opencl 9y agoNVIDIA cards and thus CUDA are still not officially supported.
- waynecochran 9y agoI have a older MacBook with an nVidia card specifically for CUDA development. I get my drivers from nVidia. Could this work the same way?
- opencl 9y agoYes, external NVIDIA GPUs already work this way and will continue to do so. This announcement is about official support which only applies to a few specific configurations. The only GPUs supported are Polaris/Vega and the only Macs supported are 2016+ MBPs, 2017+ iMacs, and the iMac Pro. https://support.apple.com/en-us/HT208544 https://support.apple.com/en-us/HT208544
- chrisper 9y agoCan one not use a docking station and hide all the stuff?
- qwerty456127 9y agoIs there something like this available for Linux and Windows PCs?
- michaelgreen 9y agoI've been using an eGPU for a few months now and It's fantastic. It's a bit annoying to deal with all of the workarounds for libraries like pytorch/tensorflow so you can use the latest version but other than that it's great.
- nafizh 9y agoCan you point to any blog post or any other link of a setup description for deep learning?
- michaelgreen 9y agoSo there I didn't really follow any blog post or anything, there's a lot of gists about setting it up but they become relatively out of date fairly quickly and are usually specific to their setup. I would checkout: https://egpu.io/forums/mac-setup/wip-nvidia-egpu-support-for-high-sierra/ https://egpu.io/forums/mac-setup/wip-nvidia-egpu-support-for... A lot of people have put in a lot of work to make it as easy as possible to setup. I would just make sure you setup things one at a time and don't immediately jump to trying to get TF or pytorch to work after installing the drivers/ following any sort of guide. Verify your Cuda installation first by building the sample programs and running them. (see http://docs.nvidia.com/cuda/cuda-installation-guide-mac-os-x/index.html http://docs.nvidia.com/cuda/cuda-installation-guide-mac-os-x...) Other than that maybe checkout: https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687 https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de0... https://gist.github.com/smitshilu/53cf9ff0fd6cdb64cca69a7e2827ed0f https://gist.github.com/smitshilu/53cf9ff0fd6cdb64cca69a7e28... The main thing is just getting the GPU drivers setup, after that installing tensorflow requires some modifications to the source (relatively trivial find and replace), and I don't think you have to do anything special for the latest version of pytorch. Other tips: 1. Make sure you're using a thunderbolt 3 cable with whatever egpu you have, other cables will not work even if they're usb c. (USB 3.1 != Thunderbolt 3 != USB C) Read about the differences. 2. I would recommend the AKITO Node enclosure as it seems like most people use it and the community is really small already so if you aren't it might be more difficult to debug issues, but I wouldn't say you couldn't use something else. 3. You'll want to have a docker container that has the CPU version of tensorflow/whatever so you can use that when you don't have the GPU readily available as tensorflow won't work if you installed it with GPU support and your GPU isn't there. 4. If you're trying to use Nvidia-Docker I'm not sure if anyone has gotten that to work on mac because device binding isn't supported on mac for docker. You might be able to get this to work by modifying the docker VM but I'm not sure.
- nikanj 9y agoApple doesn't want to release a mid-priced ($2000?) desktop for content creators, as that would cannibalize the market of the $8000 Mac Pro and iMac Pro. Now they seem to be realizing they're losing that segment of the market to PC side of things, and that people in that segment are often thought leaders. If content creators have PCs, content usually ends up working the best on a PC.
- whywhywhywhy 9y agoDon't think anyone who moved would be wanting to move back just because Apple now supports a GPU dongle.
- chx 9y agoThere's an amazing website and community if you are interested in external GPUs at https://egpu.io/ https://egpu.io/ . Both for Mac and PC you will find guides, explanations etc. There's also an eGPU subreddit and I wrote a sticky on U series chips, PCIe lanes and Thunderbolt 3 https://www.reddit.com/r/eGPU/comments/7vb0gg/u_series_chips_pcie_lanes_and_thunderbolt_3/ https://www.reddit.com/r/eGPU/comments/7vb0gg/u_series_chips... which is more interesting for PCs than Mac.
- doomlaser 9y agoI've heard that external GPUs have too much latency to be that useful for a lot of applications. What I'd like to see is a Mac with a nice big fat Nvidia GPU. Why can't I buy a Mac with a 1080 ti? My suspicion is that Apple wants to get into the GPU game themselves, and bring some of the expertise from their mobile GPU team to laptops and desktops. That'd be great, if they actually released something competitive. So far, they haven't, and Mac users, who would love to pay for better technology, are left out in the cold as a result.
- grecy 9y ago> My suspicion is that Apple wants to get into the GPU game themselves They said the upcoming Mac Pro will be "modular", which I think is a clear sign it will have external GPUs, or certainly will lean heavily in the direction of encouraging users with a heavy GPU workload in that direction.
- rtpg 9y agoI thought that eGPUs work through stuff like thunderbolt, where you're basically using a PCI Express port, so the slowness would only come from the length of cables relative to an internal GPU? Or is this a misunderstanding on my part
- jeswin 9y agoSlowness is also due to thunderbolt being PCIe x4 as opposed to x16 - x4 has a fourth of the bandwidth. Games however don't max out x16 usually, so you'd lose about 25%.
- digi_owl 9y agoHeh, why make another Mac Pro when they can sell a egpu dongle?
- adamcw 9y agoPSA: If you are using a DisplayLink based device, this update will break your setup. They have a beta driver on their site that will re-enable clone mode, but not extended desktops, etc. Through the 10.13.4 beta the rumor was that changes to support eGPU's broke something they relied on. Edit: 1.0.13.4 is not a version of macOS.
- atommclain 9y agoAre you able to use an external GPU to drive a MacBook Pros display?
- lloeki 9y agoDo you mean loopback mode?
- atommclain 9y agoYes, thank you, now I know the correct term.
- godzillabrennus 9y agoVery cool! Does anyone know if you can do SLI within any external enclosures with Mac or is that a pipe dream given there is no official driver?
- euroclydon 9y agoOn the MacOS install page for TensorFlow, we have this goodie: Note: As of version 1.2, TensorFlow no longer provides GPU support on macOS. Will eGPU support help change that? https://www.tensorflow.org/install/install_mac https://www.tensorflow.org/install/install_mac
- steve_musk 9y agoProbably not, since Nvidia eGPUs are not currently supported by Apple. Although, it is possible to compile TensorFlow from source with CUDA support for macOS. You have to make a few tweaks to the source code and symlink some libraries.
- jason_slack 9y agoI have an Akitio Node - Thunderbolt3 eGPU enclosure which says it accepts full size cards and works with High Sierra with AMD GPU's. (https://www.akitio.com/expansion/node https://www.akitio.com/expansion/node) What is a good GPU for a budget for someone that just wants to experiment with GPU's like OpenCL or some machine or deep learning? If I didn't have a budget what would a better card be? :-)
- Improvotter 9y agoThere currently really are no good cards to get from AMD because of the inflated prices caused by miners. I've heard that Nvidia GPUs work just fine with the Nvidia drivers installed. I'd totally recommend AMD any time of the year, but you cannot get their cards at MSRP anywhere. AMD got the following models (mid-range, kinda high-end): RX 540-580 and Rx Vega 56 and 64. The RX580 got an MSRP of around $200, but you can only get them for $400+. Same problem for the other models. Nvidia got the following ones (mid-range, high-end): GTX 1050-1080 and Ti models meaning a boost in power. You might be able to pick up a GTX 1060 for $200-300 which is still more than the $200 MSRP, but that's what you can get.
- jason_slack 9y agoA GTX 1060 would still be useful for someone who wants to learn more about GPU programming, practice and start working on ideas they might have.
- StreamBright 9y agoI have a crazy question, why don't we put the big gpus in the monitor instead of putting them in the laptop? It is ok to have a small low performance gpu in the laptop like the one i have in my MBP but instead of buying an external gpu i would pretty much buy a large screen with a gpu in it. Maybe it is just me.
- sadgit 9y agoAnd if you have 2 screens?
- Tsiklon 9y agoUnfortunately while a pretty concise solution, it’s been the case over the past 10-15 years that the GPU market has moved at a much faster pace than the display market. So the main thing that would worry me is to have a monitor that is capable, far longer than the GPU that’s integrated within it. Like a inverse Mac Pro - where currently the internals are sound for the majority of use cases - with the exception of the GPUs which are quite poor performers at that price point. Now we seem to be in pretty good shape to accomplish such a solution - the technologies are there with thunderbolt 3 offering enough performance now to accommodate a high end GPU with not too much performance loss.
- garyvee_ 9y agoMac VR here we come. About time; this will be one of their bigger errors.