Saya ingin tahu apa opsi GPU eksternal (eGPU) untuk macOS di 2017 dengan MacBook Pro 2016 akhir.
Saya melakukan riset, tetapi di internet saya menemukan banyak informasi yang membingungkan. Ada yang bilang itu bisa bekerja, tetapi itu membutuhkan Windows (dual-boot). Yang lain mengatakan, itu hanya dapat bekerja untuk kartu grafis yang lebih lama karena CUDA tidak didukung untuk kartu grafis yang lebih baru (GTX 1080). Idealnya, saya ingin menjalankan 1080 GTX dari NVIDIA. Satu-satunya tujuan saya adalah menggunakan Keras dan TensorFlow dengannya. Namun, saya tidak tahu semua hal yang penting untuk membuatnya bekerja. Karena itu pertanyaan saya adalah, mungkinkah menggunakan TensorFlow dengan CUDA dan eGPU di akhir MacBook Pro 2016 (15 ")? Saya ingin menggunakan kartu grafis di macOS (dengan akhir MacBook Pro 15") sebagai eGPU (tanpa dual- boot / partisi Windows / Linux).
Catatan: Saya telah melihat pengguna menggunakan eGPU di macbook sebelumnya (Razor Core, AKiTiO Node), tetapi tidak pernah dikombinasikan dengan CUDA dan Machine Learning (atau 1080 GTX dalam hal ini). Orang menyarankan menyewa ruang server sebagai gantinya, atau menggunakan Windows (dukungan kartu grafis yang lebih baik) atau bahkan membangun PC baru dengan harga yang sama yang memungkinkan Anda untuk menggunakan eGPU pada Mac. (Saya tidak suka opsi itu.)
Jawaban:
Saya akhirnya bisa menginstal Nvidia Titan XP + MacBook Pro + Akitio Node + Tensorflow + Keras
Saya menulis inti dengan prosedur, semoga membantu
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
Inilah yang saya lakukan:
Konfigurasi ini bekerja untuk saya, semoga membantu
Ini didasarkan pada: https://becominghuman.ai/deep-learning-gaming-build-with-nvidia-titan-xp-and-macbook-pro-with-thunderbolt2-5ceee7167f8b
dan di: https://stackoverflow.com/questions/44744737/tensorflow-mac-os-gpu-support
Perangkat keras
Versi perangkat lunak
Prosedur:
Instal driver GPU
Ketika mac Anda restart, jalankan perintah ini di Terminal:
Cabut eGPU Anda dari Mac Anda, dan mulai ulang. Ini penting jika Anda tidak mencabut eGPU Anda, Anda mungkin berakhir dengan layar hitam setelah memulai ulang.
Ketika Mac Anda dimulai kembali, Buka Terminal dan jalankan perintah ini:
Instal CUDA, cuDNN, Tensorflow dan Keras
Pada saat ini, Keras 2.08 membutuhkan tensorflow 1.0.0. Tensorflow-gpu 1.0.0 membutuhkan CUDA 8.0 dan cuDNN v5.1 adalah yang bekerja untuk saya. Saya mencoba kombinasi lain tetapi sepertinya tidak berhasil
Setel variabel env
(Jika bash_profile Anda tidak ada, buatlah. Ini dijalankan setiap kali Anda membuka jendela terminal)
Salin file cuDNN ke CUDA
Buat lingkungan dan instal tensorflow
Verifikasi itu berfungsi
Jalankan skrip berikut:
Instal Keras di lingkungan dan atur tensorflow sebagai backend:
Keluaran:
sumber
Saya bisa mendapatkan NVIDIA GTX 1080 Ti yang bekerja pada Akitio Node di iMac saya (akhir 2013). Saya menggunakan adaptor Thunderbolt 2> 3, meskipun pada Mac yang lebih baru Anda dapat menggunakan TB3 yang lebih cepat secara langsung.
Ada berbagai pengaturan eGPU yang dijelaskan di eGPU.io, dan Anda mungkin menemukan yang menjelaskan komputer / enklosur / kartu Anda dengan tepat. Tutorial ini sebagian besar untuk mempercepat tampilan dengan eGPU, meskipun untuk melatih NN, Anda jelas tidak perlu mengikuti semua langkah.
Berikut kira-kira apa yang saya lakukan:
/usr/local/cuda
bersama sisa perpustakaan CUDA Anda dan termasuk.pip install tensorflow-gpu
, saya tidak memiliki kesalahan instalasi, tetapi mendapat segfault ketika membutuhkan TensorFlow di Python. Ternyata ada beberapa variabel lingkungan yang harus disetel (sedikit berbeda dari yang disarankan oleh installer CUDA), yang dijelaskan dalam komentar masalah GitHub .Dari Menu iStat saya dapat memverifikasi bahwa GPU eksternal saya memang digunakan selama pelatihan. Instalasi TensorFlow ini tidak bekerja dengan Jupyter, tapi mudah-mudahan ada solusi untuk itu.
Saya belum pernah menggunakan set-up ini sehingga saya tidak yakin dengan peningkatan kinerja (atau keterbatasan bandwidth), tetapi eGPU + TensorFlow / CUDA tentu saja mungkin sekarang, karena NVIDIA mulai merilis driver yang tepat untuk macOS.
sumber
Dukungan eGPU pada macOS adalah topik yang sulit, tetapi saya akan melakukan yang terbaik untuk menjawab pertanyaan Anda.
Mari kita mulai dengan kartu grafis! Demi waktu, dan karena kita berbicara CUDA, kita akan tetap menggunakan kartu Nvidia. Kartu grafis apa pun akan berfungsi dengan driver yang tepat di Windows. Apple, bagaimanapun, hanya secara resmi mendukung beberapa kartu grafis Nvidia, terutama yang sangat lama. Namun, driver grafis Nvidia benar-benar berfungsi pada hampir semua kartu GeForce dan Quadro Nvidia, dengan satu pengecualian besar. Kartu GTX 10xx TIDAK AKAN BEKERJA. Pada sistem operasi Mac apa pun. Periode. Driver Nvidia tidak mendukung kartu ini. Jika Anda mencari tenaga, Anda ingin melihat GTX 980Ti atau Titan X (banyak kartu Quadro yang bagus juga bisa digunakan dengan baik).
Sekarang kita sudah memiliki yang terlindungi, mari kita beralih ke lampiran eGPU. Saya akan berasumsi, karena Anda menyebutkan secara khusus eGPU, bahwa Anda telah menganggarkan untuk kandang eGPU yang sebenarnya (mari kita gunakan Node AKiTiO sebagai contoh), daripada sasis ekspansi PCIe dengan catu daya eksternal, karena ini bukan ide yang bagus
Jadi sekarang kami memiliki kartu grafis (GTX 980Ti) di kandang eGPU (AKiTiO Node) dan kami ingin membuatnya berfungsi. Yah, itu lebih mudah diucapkan daripada dilakukan. Saya melakukan sedikit riset eGPU menjelang akhir 2016, dan informasi yang saya dapatkan relatif membingungkan, jadi jika ada yang punya komentar atau koreksi, beri tahu saya. Dari apa yang saya mengerti, untuk memanfaatkan kekuatan eGPU, Anda perlu mencolokkan monitor eksternal ke dalam eGPU. Saya tidak percaya Anda dapat menjalankan eGPU tanpa monitor eksternal di macOS. Anda juga tidak akan melihat layar boot Apple pada monitor yang terhubung eGPU (kecuali jika Anda membeli kartu yang di-flash dari MacVidCards), tetapi Anda kemudian dapat menggunakan eGPU untuk mengarahkan grafik Anda.
Dengan asumsi Anda melakukan semua ini dengan sukses, Anda harus memiliki pembangkit tenaga listrik berkemampuan CUDA berkekuatan sangat tinggi.
sumber
Saya baru-baru ini melakukannya dengan OSX 10.13.6 untuk pytorch dan fastai. Lihat inti saya di sini: https://gist.github.com/dandanwei/18708e7bd5fd2b227f86bca668343093
sumber
Jika Anda menggunakan macOS 10.13.3, periksa tautan ini . Ini mencakup semuanya, mulai dari pengaturan eGPU hingga kompilasi TensorFlow.
sumber