Chciałbym wiedzieć, jakie są opcje zewnętrznego GPU (eGPU) dla systemu macOS w 2017 r. W MacBooku Pro z końca 2016 r.
Przeprowadziłem badania, jednak w Internecie znajduję wiele mylących informacji. Niektórzy twierdzą, że może działać, ale wymaga systemu Windows (podwójny rozruch). Inni twierdzą, że może działać tylko na starszych kartach graficznych, ponieważ CUDA nie jest obsługiwany przez nowsze karty graficzne (GTX 1080). Idealnie chciałbym uruchomić 1080 GTX NVIDIA. Moim jedynym celem jest używanie z nim Keras i TensorFlow. Jednak nie znam wszystkich rzeczy, które są ważne, aby to zadziałało. Moje pytanie brzmi zatem: czy można używać TensorFlow z CUDA i eGPU na późnym MacBooku Pro 2016 (15 ")? Chcę używać karty graficznej w macOS (z późnym MacBookiem Pro 15") jako eGPU (bez podwójnego partycja rozruchowa / Windows / Linux).
Uwaga dodatkowa: wcześniej widziałem użytkowników korzystających z eGPU na komputerach Macbook (Razor Core, AKiTiO Node), ale nigdy w połączeniu z CUDA i Machine Learning (lub 1080 GTX w tym przypadku). Ludzie sugerowali, aby zamiast tego wynająć miejsce na serwerze lub skorzystać z systemu Windows (lepsza obsługa kart graficznych), a nawet zbudować nowy komputer w tej samej cenie, co pozwala na korzystanie z eGPU na komputerze Mac. (Nie wolę tej opcji).
Odpowiedzi:
W końcu mogłem zainstalować Nvidia Titan XP + MacBook Pro + Akitio Node + Tensorflow + Keras
Napisałem streszczenie procedury, mam nadzieję, że to pomoże
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
Oto co zrobiłem:
Ta konfiguracja działała dla mnie, mam nadzieję, że pomoże
Opiera się na: https://becominghuman.ai/deep-learning-gaming-build-with-nvidia-titan-xp-and-macbook-pro-with-thunderbolt2-5ceee7167f8b
i na: https://stackoverflow.com/questions/44744737/tensorflow-mac-os-gpu-support
Sprzęt komputerowy
Wersje oprogramowania
Procedura:
Zainstaluj sterownik GPU
Po ponownym uruchomieniu komputera Mac uruchom to polecenie w terminalu:
Odłącz eGPU od komputera Mac i uruchom ponownie. Jest to ważne, jeśli nie odłączyłeś eGPU, po uruchomieniu może pojawić się czarny ekran.
Po ponownym uruchomieniu komputera Mac otwórz terminal i wykonaj następujące polecenie:
Zainstaluj CUDA, cuDNN, Tensorflow i Keras
W tej chwili Keras 2.08 potrzebuje tensorflow 1.0.0. Tensorflow-gpu 1.0.0 potrzebuje CUDA 8.0, a cuDNN v5.1 jest tym, który działał dla mnie. Próbowałem innych kombinacji, ale wydaje się, że nie działa
Ustaw zmienne env
(Jeśli Twój profil bash nie istnieje, utwórz go. Jest to wykonywane za każdym razem, gdy otwierasz okno terminalu)
Skopiuj pliki cuDNN do CUDA
Utwórz środowisko i zainstaluj tensorflow
Sprawdź, czy to działa
Uruchom następujący skrypt:
Zainstaluj Keras w środowisku i ustaw tensorflow jako backend:
Wydajność:
źródło
Udało mi się zdobyć NVIDIA GTX 1080 Ti działającą na węźle Akitio na moim komputerze iMac (pod koniec 2013 r.). Używam adaptera Thunderbolt 2> 3, chociaż na nowszych komputerach Mac możesz bezpośrednio korzystać z szybszej TB3.
Istnieją różne konfiguracje eGPU opisane na eGPU.io i możesz znaleźć takie, które dokładnie opisują Twój komputer / obudowę / kartę. Te samouczki mają głównie na celu przyspieszenie wyświetlania za pomocą eGPU, chociaż do szkolenia NN nie trzeba oczywiście wykonywać wszystkich kroków.
Oto mniej więcej to, co zrobiłem:
/usr/local/cuda
z resztą bibliotek CUDA i zawiera.pip install tensorflow-gpu
nie miałem żadnych błędów instalacyjnych, ale dostałem segfault, gdy wymagałem TensorFlow w Pythonie. Okazuje się, że są pewne zmienne środowiskowe, które należy ustawić (nieco inaczej niż sugeruje instalator CUDA), które zostały opisane w komentarzu do wydania GitHub .Z menu iStat mogę sprawdzić, czy mój zewnętrzny procesor GPU jest rzeczywiście używany podczas szkolenia. Ta instalacja TensorFlow nie działała z Jupyter, ale mam nadzieję, że istnieje obejście tego problemu.
Nie korzystałem z tej konfiguracji zbyt wiele, więc nie jestem pewien wzrostu wydajności (lub ograniczeń przepustowości), ale eGPU + TensorFlow / CUDA jest z pewnością możliwe teraz, ponieważ NVIDIA zaczęła wypuszczać odpowiednie sterowniki dla macOS.
źródło
Obsługa eGPU na macOS jest trudnym tematem, ale dołożę wszelkich starań, aby odpowiedzieć na twoje pytanie.
Zacznijmy od kart graficznych! Ze względu na czas, a ponieważ mówimy o CUDA, będziemy trzymać się kart Nvidii. Każda karta graficzna będzie działać z odpowiednimi sterownikami w systemie Windows. Apple oficjalnie obsługuje jednak tylko kilka kart graficznych Nvidia, głównie bardzo starych. Jednak sterowniki graficzne Nvidia faktycznie działają na prawie wszystkich kartach GeForce i Quadro Nvidii, z jednym dużym wyjątkiem. Karty GTX 10xx NIE BĘDĄ DZIAŁAĆ. Na dowolnym systemie operacyjnym Mac. Kropka. Sterowniki Nvidii nie obsługują tej karty. Jeśli szukasz mocy, powinieneś spojrzeć na GTX 980Ti lub Titan X (wiele dobrych kart Quadro również by działało).
Teraz, gdy już to omówiliśmy, przejdźmy do obudów eGPU. Zakładam, ponieważ wspomniałeś konkretnie o eGPU, że budżetowałeś na rzeczywistą obudowę eGPU (użyjmy na przykład węzła AKiTiO), zamiast obudowy rozszerzającej PCIe z zewnętrznym zasilaczem, ponieważ to nie jest świetny pomysł.
Mamy teraz kartę graficzną (GTX 980Ti) w obudowie eGPU (węzeł AKiTiO) i chcemy, aby działała. Łatwiej powiedzieć niż zrobić. Pod koniec 2016 roku przeprowadziłem trochę badań nad eGPU, a informacje, które otrzymałem, były dość mylące, więc jeśli ktoś ma jakieś uwagi lub poprawki, daj mi znać. Z tego co rozumiem, aby wykorzystać moc eGPU, musisz podłączyć zewnętrzny monitor do eGPU. Nie sądzę, że możesz uruchomić eGPU bez zewnętrznego monitora w macOS. Nie zobaczysz również ekranu rozruchowego Apple'a na monitorze podłączonym do eGPU (chyba że kupisz kartę flashowaną od MacVidCards), ale powinieneś być w stanie użyć eGPU do sterowania grafiką.
Zakładając, że wykonasz to wszystko z powodzeniem, powinieneś mieć bardzo wydajny silnik graficzny obsługujący CUDA.
źródło
Ostatnio zrobiłem to z OSX 10.13.6 dla pytorch i fastai. Zobacz moją treść tutaj: https://gist.github.com/dandanwei/18708e7bd5fd2b227f86bca668343093
źródło
Jeśli używasz systemu macOS 10.13.3, sprawdź ten link . Obejmuje wszystko - od konfiguracji eGPU po kompilację TensorFlow.
źródło