Ich würde gerne wissen, welche externen GPU (eGPU) -Optionen 2017 für MacOS mit dem MacBook Pro von Ende 2016 verfügbar sind.
Ich habe recherchiert, aber im Internet finde ich viele verwirrende Informationen. Einige sagen, es kann funktionieren, aber es erfordert Windows (Dual-Boot). Andere sagen, dass dies nur für ältere Grafikkarten funktioniert, da CUDA für neuere Grafikkarten (GTX 1080) nicht unterstützt wird. Idealerweise möchte ich den 1080 GTX von NVIDIA ausführen. Mein einziger Zweck ist es, Keras und TensorFlow damit zu verwenden. Ich kenne jedoch nicht alle Dinge, die wichtig sind, um es zum Laufen zu bringen. Meine Frage ist daher, ist es möglich, TensorFlow mit CUDA und eGPU auf dem späten MacBook Pro 2016 (15 ") zu verwenden? Ich möchte die Grafikkarte in macOS (mit dem späten MacBook Pro 15") als eGPU verwenden (kein DualPU). Boot / Windows / Linux-Partition).
Randnotiz: Ich habe Benutzer gesehen, die eGPUs auf Macbooks verwendet haben (Razor Core, AKiTiO Node), aber niemals in Kombination mit CUDA und Machine Learning (oder dem 1080 GTX). Die Leute schlugen vor, stattdessen Serverplatz zu mieten oder Windows zu verwenden (bessere Grafikkartenunterstützung) oder sogar einen neuen PC zu dem gleichen Preis zu bauen, mit dem Sie eine eGPU auf einem Mac verwenden können. (Ich bevorzuge diese Option nicht.)
Antworten:
Endlich konnte ich Nvidia Titan XP + MacBook Pro + Akitio Node + Tensorflow + Keras installieren
Ich schrieb eine kurze Zusammenfassung des Verfahrens, hoffe, es hilft
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
Folgendes habe ich getan:
Diese Konfiguration hat bei mir funktioniert, hoffe es hilft
Es basiert auf: https://becominghuman.ai/deep-learning-gaming-build-with-nvidia-titan-xp-and-macbook-pro-with-thunderbolt2-5ceee7167f8b
und auf: https://stackoverflow.com/questions/44744737/tensorflow-mac-os-gpu-support
Hardware
Softwareversionen
Verfahren:
Installieren Sie den GPU-Treiber
Führen Sie nach dem Neustart Ihres Mac den folgenden Befehl im Terminal aus:
Trennen Sie Ihre eGPU von Ihrem Mac und starten Sie neu. Dies ist wichtig, wenn Sie Ihre eGPU nicht vom Stromnetz getrennt haben und nach dem Neustart möglicherweise ein schwarzer Bildschirm angezeigt wird.
Wenn Ihr Mac neu gestartet wurde, öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:
Installieren Sie CUDA, cuDNN, Tensorflow und Keras
In diesem Moment benötigt Keras 2.08 Tensorflow 1.0.0. Tensorflow-gpu 1.0.0 benötigt CUDA 8.0 und cuDNN v5.1 hat bei mir funktioniert. Ich habe andere Kombinationen ausprobiert, aber es scheint nicht zu funktionieren
Setze env Variablen
(Wenn Ihr bash_profile nicht existiert, erstellen Sie es. Dies wird jedes Mal ausgeführt, wenn Sie ein Terminalfenster öffnen.)
Kopieren Sie cuDNN-Dateien nach CUDA
Umgebung erstellen und tensorflow installieren
Überprüfen Sie, ob es funktioniert
Führen Sie das folgende Skript aus:
Installiere Keras in der Umgebung und setze tensorflow als Backend:
Ausgabe:
quelle
Ich konnte auf meinem iMac (Ende 2013) eine NVIDIA GTX 1080 Ti auf dem Akitio Node zum Laufen bringen. Ich verwende einen Thunderbolt 2> 3-Adapter, aber auf neueren Macs können Sie die schnellere TB3 direkt verwenden.
Unter eGPU.io werden verschiedene eGPU- Konfigurationen beschrieben, und möglicherweise finden Sie eine, die Ihren Computer / Ihr Gehäuse / Ihre Karte genau beschreibt. Diese Tutorials dienen hauptsächlich dazu, eine Anzeige mit einer eGPU zu beschleunigen. Zum Trainieren von NNs müssen Sie jedoch nicht alle Schritte ausführen.
Hier ist ungefähr, was ich getan habe:
/usr/local/cuda
mit den übrigen CUDA-Bibliotheken und -Einschlüssen untergehen .pip install tensorflow-gpu
hatte ich keine Installationsfehler, bekam aber einen Segfehler, wenn TensorFlow in Python benötigt wurde. Es stellte sich heraus, dass einige Umgebungsvariablen festgelegt werden müssen (etwas anders als vom CUDA-Installationsprogramm vorgeschlagen), die in einem GitHub-Problemkommentar beschrieben wurden .Über die iStat-Menüs kann ich überprüfen, ob meine externe GPU tatsächlich während des Trainings verwendet wird. Diese TensorFlow-Installation funktionierte zwar nicht mit Jupyter, aber dafür gibt es hoffentlich eine Problemumgehung.
Ich habe dieses Setup nicht viel benutzt, um nicht sicher zu sein, ob die Leistung gesteigert wird (oder die Bandbreite begrenzt ist), aber eGPU + TensorFlow / CUDA ist jetzt sicherlich möglich, da NVIDIA damit begonnen hat, geeignete Treiber für macOS zu veröffentlichen.
quelle
Die eGPU-Unterstützung unter macOS ist ein schwieriges Thema, aber ich werde mein Bestes geben, um Ihre Frage zu beantworten.
Beginnen wir mit Grafikkarten! Aus Gründen der Zeit und weil es sich um CUDA handelt, bleiben wir bei Nvidia-Karten. Jede Grafikkarte funktioniert mit den richtigen Treibern unter Windows. Apple unterstützt jedoch offiziell nur einige wenige Nvidia-Grafikkarten, hauptsächlich sehr alte. Die Nvidia-Grafiktreiber funktionieren jedoch mit einer großen Ausnahme auf fast allen GeForce- und Quadro-Karten von Nvidia. GTX 10xx-Karten FUNKTIONIEREN NICHT. Auf jedem Mac-Betriebssystem. Zeitraum. Nvidias Treiber unterstützen diese Karte nicht. Wenn Sie auf der Suche nach Leistung sind, sollten Sie sich die GTX 980Ti oder Titan X ansehen (viele gute Quadro-Karten würden auch gut funktionieren).
Nachdem wir uns damit befasst haben, gehen wir zu den eGPU-Gehäusen über. Da Sie speziell eGPUs erwähnt haben, gehe ich davon aus, dass Sie ein Budget für ein tatsächliches eGPU-Gehäuse (verwenden wir als Beispiel den AKiTiO-Knoten) anstelle eines PCIe-Erweiterungschassis mit einem externen Netzteil haben, da dies nicht der Fall ist eine tolle Idee.
Jetzt haben wir eine Grafikkarte (GTX 980Ti) in einem eGPU-Gehäuse (AKiTiO Node) und möchten, dass sie funktioniert. Das ist leichter gesagt als getan. Ich habe gegen Ende 2016 ein bisschen nach eGPU recherchiert und die Informationen, die ich erhalten habe, waren relativ verwirrend. Wenn also jemand Kommentare oder Korrekturen hat, lass es mich bitte wissen. Soweit ich weiß, müssen Sie einen externen Monitor an die eGPU anschließen, um die Leistung der eGPU nutzen zu können. Ich glaube nicht, dass Sie die eGPU unter macOS ohne externen Monitor betreiben können. Auf dem mit der eGPU verbundenen Monitor wird auch kein Apple-Startbildschirm angezeigt (es sei denn, Sie kaufen eine Flash-Karte von MacVidCards), aber Sie sollten dann in der Lage sein, die eGPU zur Steuerung Ihrer Grafiken zu verwenden.
Vorausgesetzt, Sie erledigen dies alles erfolgreich, sollten Sie über ein leistungsstarkes CUDA-fähiges Grafik-Kraftpaket verfügen.
quelle
Ich habe es kürzlich mit OSX 10.13.6 für Pytorch und Fastai gemacht. Sehen Sie meinen Kern hier: https://gist.github.com/dandanwei/18708e7bd5fd2b227f86bca668343093
quelle
Wenn Sie MacOS 10.13.3 verwenden, überprüfen Sie diesen Link . Es deckt alles ab, vom eGPU-Setup bis zur TensorFlow-Kompilierung.
quelle