Nvidia Titan V GPU for Deep Learning / AI (OSX 10.13.3 - 10.13.4)
Hello. I have been struggling a lot with getting the OSX 10.13.3-10.13.4b2 works with Sonnet eGFX box with Nvidia Titan V . I need eGPU for machine learning configuration with tensorflow and cuda for primary usage. I'm not yet on video editing and gaming side yet, so it's a secondary to have video or monitor accelerated.
I have tried the following configurations, but I coudn't make none of them able to work so far.
1. I have firstly tried iMac2017 4k on OSX 10.13.3, with TB3 cable, Nvidia Titan V and Sonnet eGFX Box 350. No external monitor use, so just install 3188.8.131.52.25.156 webDrivers, Cuda, and Nvidia-eGPU-v6. It seems I have gone into situation when everything was installed with SIP disabled, due to some install messages.
Result: Nvidia Driver manager shows the proper driver, CUDA Preferences is showing that both CUDA and Nvidia driver is at proper version with no compains on GPU absence if Sonnet is attached.
Problem: No Nvidia display or driver appeared in Apple -> About this Mac -> Graphics / Display.
2. I have tried laptop MBP 2015 with TB2 cable, Apple TB2 - TB3 Adapter to Nvidia Titan V and Sonnet eGFX Box 350. The result was the same, no appears of the display in About.
I had tried to verified if some special login may help, so I reboot without TB attached, attach TB on login screen, login, logout, login, but nothing is changed. I have also noticed, that Cuda preference dialog is ok when just connect TB, but after some time Cuda prefs are going to change with "No GPU detected error" while the TB3 / TB2 is still attached.
3. I have numerously tried to install once more Nvidia-eGPU-v6 with no effect, so I decided to try automate-eGPU.sh script. Surprise, but it was the only who determined the Nvidia Titan V. It's sad, but nothing changed from Apple -> About menu although.
4. I have also tried to apply Rastafabi eGPU enabler, but not sure if this was the cause, but after that iMac2017 goes to Kernel Panic after, so needs to manually safe boot, delete some kext, and reinstall / upgrade / update osx.
5. Then I have updated iMac2017 to the latest OSX 10.13.4 Beta 2, since person from the forum reported that things goes better.
My results is the same with absent of the solution: no new eGPU-enject menu appeared, WebDriver changed to the Default MacOS one (since Nvidia manu says that this due to lack of Nvidia driver for this version of os), but CUDA strangely depicts, that the latest 387....156 Nvidia web driver version as used.
a) Do I need to use gnost emulator / HDMI Accelerator to just see Nvidia card appeared in About?
b) What to recheck / reinstall to fix this both on iMac2017 TB3 10.13.4b and MBP 2015 10.13.3 with TB2 - TB2TB3 Adapter + Sonnet with Nvidia Titan V.
Is automate-eGPU.sh outdated? It basically the only who sees Titan V from command line
Detected eGPU GV100 [TITAN V] Current OS X Â 10.13.3 17D47 Previous OS X 10.11.6 appstore Latest installed Nvidia web driver Version: 3184.108.40.206.25.156 Source: 3rd Party
c) Is Bootcamp windows help me with the case? What kind of hotplugs / apple_set_os.efi do I need to use maximize efficiency.
Thank you for any help!
Don't you know, is
automate-eGPU not outdated and superseded by nvidia-egpu-v6 (mentioned https://egpu.io/forums/mac-setup/wip-nvidia-egpu-support-for-high-sierra) ?
As I mentioned above, I have tried this automate-eGPU (but without deletion all of nvidia-egpu installation). This script sees Titan V, but it doesn't influence on "Apple -> About" device or display appearing.
I have a similar setup (but older 2014 iMac and 1080TI with an external monitor - don't think that will matter tho). I have macOS 10.13.3, TensorFlow 1.5 running with CUDA 9.0.
- Use 10.13.3, unless you have some specific need to run an older OS or a beta OS (10.13.4 beta looks to have a lot of issues with eGPU setups at this point!)
- Follow this guide: https://egpu.io/forums/mac-setup/wip-nvidia-egpu-support-for-high-sierra/paged/1/
- You'll probably want to use the nvidia drivers for 10.13.2, not the latest ones (that seem to cause a lot of trouble!) There are some instructions on how to downgrade the drivers and get them working on 10.13.3 on one of the recent pages on that thread.
- If the GPU isn't detected or you get a black screen, disconnect the GPU, then boot and log in. Once you've logged in, connect the GPU, then log out and back in. (I have to do this, I think it's related to having FileVault enabled).
Getting tensorflow working on the GPU is a pain. Old versions like 1.0 are easy to find, but compiling recent versions requires patching the code in a bunch of places. Advice for that:
- Install CUDA 9.0, not 9.1, or Tensorflow crashes.
- Also install the right version of cuDNN
- There's a pre-build tensorflow 1.5 with CUDA here: http://cswithjames.com/macos_tensorflow1-5-0_gpu/
Good luck 🙂
Nvidia web drivers for macOS don't know anything about Titan V, so there is no support for this card on macOS.
And it's very unlikely that Nvidia will add support for just one card of Volta family because of upcoming Ampere cards.
The script sees the card because it reads Device ID and compares it with the online database.
That is not dead which can eternal lie, And with strange aeons even death may die.
Hi, @devild, thanks for you comment! I have got your consideration that no direct driver supports for Titan V seems to be shipped from Nvidia.
What would you suggest to perform ? Do I need to try per @psonice comment your's 10.13.2-compatible (nvidia-egpu-v4-su.zip, and 104 / 156 webdriver pkg) code as well? Are any hopes on automate-eGPU.sh reinstalled from scratch ? Or I'm forced to use Windows 10 in Bootcamp mode anyway with appropriate apple_set_os.efi modifications?
Thanks for all of you for the help!
I've been down this path too. The Titan V isn't supported with the driver at this time on mac. I'm checking daily for version 390.* to come out. NVIDIA level 2 has given me the standard we can not comment answers asking about availability. I think it will happen, but in the mean time, I think you will need a titan xp and things will work.
As for compiling tensorflow, I used this guide. https://tweakmind.com/tensorflow-1-5-macos-10-13-2/
I used CUDA 9.1 along with cuDNN for CUDA 9.1 (the guide shows some conflicts with versions). You will see conflicting notes as to whether 1.5 will run on CUDA 9.1. If you are compiling from the sources, it will indeed run.
You will have to pay particular attention to the python paths. The 2.7 default on a mac will sneak in the config file setup. I compiled using the latest python version 3.6.xx. I have wheels for 2.7, 3.5, 3.6 using CUDA 9.0, 9.1 etc. Basically lots of trials and many errors.
I contemplating options for adding GPU to my Macbook primarily for Deep Learning. I did a bit of research on enclosures but I am having mixed feedback, limited driver support etc. It seems Titax V is the best out there, but I also see above that it has limited driver support & installation challenges.
Can you please advise :
1. On viable options wrt GPUs, Enclosures.
2. I am even open to setting up Ubuntu box if that is most supported, but I would prefer mac enclosure if that works as an effective option.
3. Lastly, if you can possibly share approx cost of setup would be helpful
Note: I have been using AWS in past and it simply worked out the least bothersome to setup and most time spent on actual work. But my present projects have security challenges to use external cloud & hence the thought to setup local instance.
@akki I'm doing similar stuff. I understand there are no Titan V drivers, so that won't work on Mac. Pity, because it has big performance benefits for ML. It's also very expensive.
I went with a Sonnet eGPU 550 and an Nvidia 1080TI card. Cost was somewhere around £1000 (~$1400). Performance is good, probably ~25x faster than CPU for my stuff (Keras / Tensorflow, CPU is a 4ghz quad i7). It works great, only downside is that I have to log in, THEN connect the eGPU, then log out and back in. After that it's stable and fast. It's quiet too, even under heavy load it's good (I write GPU raytracing stuff, so it's often under sustained, very heavy load 😉
One thing to be wary of is that GPU support is limited on Mac. Tensorflow dropped support after version 1.1 I think, but you can compile it yourself with CUDA enabled, with some work. And there are packages other people have compiled that you can just download, if you hunt around.