Avendo passato questo, aggiungerò i miei due centesimi.
È utile avere una scheda dedicata per i calcoli, ma sicuramente non è necessaria.
Ho utilizzato una workstation di sviluppo con una singola GPU high-end per display e computer. Ho anche utilizzato workstation con più GPU e server di calcolo senza testa.
La mia esperienza è che fare calcoli sul display GPU va bene fintanto che le richieste sul display sono tipiche dell'ingegneria del software. In una configurazione Linux con un paio di monitor, browser Web, editor di testo, ecc., Utilizzo circa 200 MB per la visualizzazione fuori dai 6 GB della scheda, quindi solo circa il 3% di spese generali. Potresti vedere il display balbettare un po 'durante l'aggiornamento di una pagina web o qualcosa del genere, ma le richieste di throughput del display sono molto piccole.
Un problema tecnico degno di nota per completezza è che il driver NVIDIA, il firmware della GPU o il sistema operativo potrebbero avere un timeout per il completamento del kernel sulla GPU del display (eseguire 'deviceQueryDrv' di NVIDIA per vedere il "limite di tempo di esecuzione sui kernel" del driver ambientazione). Nella mia esperienza (su Linux), con l'apprendimento automatico, questo non è mai stato un problema poiché il timeout è di alcuni secondi e, anche con kernel personalizzati, la sincronizzazione tra più processori limita la quantità di roba necessaria per il lancio di un singolo kernel. Mi aspetterei che le esecuzioni tipiche delle operazioni pre-infornate in TensorFlow fossero due o più ordini di grandezza al di sotto di questo limite.
Detto questo, ci sono alcuni grandi vantaggi di disporre di più schede di calcolo in una stazione di lavoro (indipendentemente dal fatto che venga utilizzata o meno per la visualizzazione). Ovviamente c'è il potenziale per un maggiore throughput (se il tuo software può usarlo). Tuttavia, il vantaggio principale nella mia esperienza è la possibilità di eseguire lunghi esperimenti mentre contemporaneamente si sviluppano nuovi esperimenti.
È ovviamente possibile iniziare con una scheda e aggiungerne una in un secondo momento, ma assicurarsi che la scheda madre abbia un sacco di spazio e che l'alimentatore sia in grado di gestire il carico. Se decidi di avere due carte, una delle quali è una scheda di fascia bassa dedicata alla visualizzazione, ti suggerisco in particolare di non utilizzare la scheda di fascia bassa come scheda CUDA, in modo che non venga selezionata come predefinita per il calcolo.
Spero che questo aiuti.
fonte
2016-02-11 16:36:16
Grazie mille! - un'altra domanda: ho letto da qualche parte (penso che fosse sulla documentazione di Tensor Flow ma non riesco a trovarla) che il display potrebbe congelarsi momentaneamente a volte durante l'allenamento del modello. È così? –