Gostaria de saber quais são as opções de GPU externa (eGPU) para o macOS em 2017 com o final do 2016 MacBook Pro.
Fiz minha pesquisa, mas na internet encontro muitas informações confusas. Alguns dizem que pode funcionar, mas requer o Windows (inicialização dupla). Outros dizem que ele só funciona para as placas gráficas mais antigas, pois o CUDA não é suportado pelas placas gráficas mais recentes (GTX 1080). Idealmente, eu gostaria de rodar o 1080 GTX da NVIDIA. Meu único objetivo é usar o Keras e o TensorFlow com ele. No entanto, não sei todas as coisas importantes para fazê-lo funcionar. Minha pergunta, portanto, é: é possível usar o TensorFlow com CUDA e eGPU no final do MacBook Pro 2016 (15 ")? Quero usar a placa gráfica no macOS (com o final do MacBook Pro 15") como uma eGPU (sem dual partição de inicialização / Windows / Linux).
Nota lateral: Já vi usuários usando eGPUs em macbooks antes (Razor Core, AKiTiO Node), mas nunca em combinação com CUDA e Machine Learning (ou o 1080 GTX). As pessoas sugeriram alugar espaço no servidor ou usar o Windows (melhor suporte à placa gráfica) ou até mesmo construir um novo PC pelo mesmo preço que permite o uso de uma eGPU no Mac. (Eu não prefiro essa opção.)
Respostas:
Finalmente consegui instalar o Nvidia Titan XP + MacBook Pro + Akitio Node + Tensorflow + Keras
Eu escrevi uma essência com o procedimento, espero que ajude
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
Aqui está o que eu fiz:
Essa configuração funcionou para mim, espero que ajude
É baseado em: https://becominghuman.ai/deep-learning-gaming-build-with-nvidia-titan-xp-and-macbook-pro-with-thunderbolt2-5ceee7167f8b
e assim por diante: https://stackoverflow.com/questions/44744737/tensorflow-mac-os-gpu-support
Hardware
Versões de software
Procedimento:
Instale o driver da GPU
Quando o seu Mac for reiniciado, execute este comando no Terminal:
Desconecte sua eGPU do seu Mac e reinicie. Isso é importante se você não desconectou sua eGPU, pode aparecer uma tela preta após a reinicialização.
Quando o seu Mac reiniciar, abra o Terminal e execute este comando:
Instale CUDA, cuDNN, Tensorflow e Keras
Neste momento, o Keras 2.08 precisa do tensorflow 1.0.0. O Tensorflow-gpu 1.0.0 precisa do CUDA 8.0 e o cuDNN v5.1 é o que funcionou para mim. Eu tentei outras combinações, mas não parece funcionar
Definir variáveis env
(Se o seu bash_profile não existir, crie-o. Isso é executado toda vez que você abre uma janela do terminal)
Copiar arquivos cuDNN para CUDA
Crie um ambiente e instale o tensorflow
Verifique se funciona
Execute o seguinte script:
Instale o Keras no ambiente e defina o tensorflow como back-end:
Saída:
fonte
Consegui obter uma NVIDIA GTX 1080 Ti trabalhando no Akitio Node no meu iMac (final de 2013). Estou usando um adaptador Thunderbolt 2> 3, embora em Macs mais novos você possa usar o TB3 mais rápido diretamente.
Existem várias configurações de eGPU descritas em eGPU.io, e você pode encontrar uma que descreva seu computador / gabinete / placa com precisão. Esses tutoriais são principalmente para acelerar uma exibição com uma eGPU, embora, para treinar NNs, você obviamente não precise seguir todas as etapas.
Aqui está aproximadamente o que eu fiz:
/usr/local/cuda
do restante das bibliotecas e inclusões da CUDA.pip install tensorflow-gpu
, não tive erros de instalação, mas obtive um segfault ao exigir o TensorFlow em Python. Acontece que há algumas variáveis de ambiente que precisam ser definidas (um pouco diferente do sugerido pelo instalador do CUDA), que foram descritas em um comentário de problema do GitHub .Nos menus do iStat, posso verificar se minha GPU externa é realmente usada durante o treinamento. Porém, essa instalação do TensorFlow não funcionou com o Jupyter, mas espero que haja uma solução alternativa para isso.
Eu não usei muito essa configuração, por isso não tenho certeza sobre o aumento de desempenho (ou limitações de largura de banda), mas o eGPU + TensorFlow / CUDA certamente é possível agora, desde que a NVIDIA começou a lançar drivers adequados para o macOS.
fonte
O suporte à eGPU no macOS é um tópico difícil, mas farei o possível para responder à sua pergunta.
Vamos começar com placas gráficas! Por uma questão de tempo, e porque estamos falando da CUDA, ficaremos com as placas da Nvidia. Qualquer placa de vídeo funcionará com os drivers adequados no Windows. A Apple, no entanto, suporta oficialmente apenas algumas placas gráficas da Nvidia, principalmente as muito antigas. No entanto, os drivers gráficos da Nvidia realmente funcionam em quase todas as placas GeForce e Quadro da Nvidia, com uma grande exceção. Os cartões GTX 10xx NÃO FUNCIONARÃO. Em qualquer sistema operacional Mac. Período. Os drivers da Nvidia não suportam este cartão. Se você está procurando energia, você deve olhar para a GTX 980Ti ou Titan X (muitas boas placas Quadro também funcionam bem).
Agora que resolvemos isso, vamos para os gabinetes de eGPU. Eu vou assumir, porque você mencionou especificamente eGPUs, que você fez um orçamento para um gabinete de eGPU real (vamos usar o AKiTiO Node como exemplo), em vez de um chassi de expansão PCIe com uma fonte de alimentação externa, pois isso não é necessário. uma ótima ideia.
Portanto, agora temos uma placa gráfica (GTX 980Ti) em um gabinete eGPU (AKiTiO Node) e queremos que ela funcione. Bem, é mais fácil falar do que fazer. Pesquisei um pouco a eGPU no final de 2016 e as informações que obtive foram relativamente confusas; portanto, se alguém tiver algum comentário ou correção, entre em contato. Pelo que entendi, para utilizar o poder da eGPU, você precisa conectar um monitor externo à eGPU. Não acredito que você possa executar a eGPU sem um monitor externo no macOS. Você também não verá a tela de inicialização da Apple no monitor conectado à eGPU (a menos que compre um cartão flash da MacVidCards), mas poderá usar o eGPU para direcionar seus gráficos.
Supondo que você faça tudo isso com êxito, você deve ter uma potência gráfica ativada por CUDA de alta potência.
fonte
Recentemente fiz isso com o OSX 10.13.6 para pytorch e fastai. Veja minha essência aqui: https://gist.github.com/dandanwei/18708e7bd5fd2b227f86bca668343093
fonte
Se você estiver usando o macOS 10.13.3, verifique este link . Abrange tudo, desde a configuração da eGPU até a compilação do TensorFlow.
fonte