Download del driver:Il login del link ipertestuale è visibile. Kit degli attrezzi CUDA:Il login del link ipertestuale è visibile. cuDNN:Il login del link ipertestuale è visibile.
Cos'è la GPU?
Il concetto di GPU è stato proposto da Nvidia nel 1999. Una GPU è un chip su una scheda grafica, proprio come una CPU è un chip su una scheda madre. Quindi non c'erano GPU sulle schede grafiche prima del 1999? Certo, c'era, ma nessuno lo chiamò a quel tempo, e non attirò abbastanza attenzione da parte della gente, e il suo sviluppo fu relativamente lento.
Da quando Nvidia ha proposto il concetto di GPU, le GPU sono entrate in un periodo di rapido sviluppo. In breve, ha attraversato le seguenti fasi di sviluppo:
1. Solo per il rendering grafico, questa funzione è l'intenzione originaria delle GPU, come si può vedere dal nome: Graphic Processing Unit;
2. Successivamente si scoprì che era troppo sprecoso per un dispositivo così potente come una GPU essere utilizzato solo per l'elaborazione grafica, e che doveva essere impiegato per svolgere più lavoro, come operazioni in virgola mobile. Come si fa? Fornire operazioni in virgola mobile direttamente alla GPU non è possibile perché può essere utilizzato solo per l'elaborazione grafica (all'epoca). La cosa più semplice a cui pensare è elaborare operazioni in virgola mobile, impacchetarle in compiti di rendering grafico e poi consegnarle alla GPU. Questo è il concetto di GPGPU (GPU a uso generale). Tuttavia, c'è uno svantaggio in questo: devi avere una certa conoscenza della grafica, altrimenti non saprai come fare le valigie.
3. Pertanto, per permettere a chi non comprende la grafica di sperimentare la potenza del calcolo GPU, Nvidia propose il concetto di CUDA.
Cos'è CUDA?
CUDA (ComputeUnified Device Architecture) è una piattaforma informatica lanciata dal produttore di schede grafiche NVIDIA. CUDA è un'architettura di calcolo parallelo a uso generale lanciata da NVIDIA. Contiene l'architettura del set di istruzioni CUDA e un motore di calcolo parallelo all'interno della GPU. Puoi sviluppare programmi CUDA utilizzando un linguaggio C CUDA simile a quello C, che rende più facile utilizzare la potente potenza di calcolo della GPU, invece di impacchettare il compito di calcolo in un compito di rendering grafico e poi consegnarlo alla GPU per l'elaborazione.
In altre parole, CUDA è un framework di calcolo parallelo lanciato da NVIDIA per le proprie GPU, il che significa che CUDA può funzionare solo sulle GPU NVIDIA e può svolgere il ruolo di CUDA solo quando il problema di calcolo da risolvere è che può essere calcolato in un gran numero di calcoli paralleli.
Nota che non tutte le GPU supportano CUDA.
Cos'è il CUDNN?
NVIDIA cuDNN è una libreria accelerata da GPU per reti neurali profonde. Enfatizza prestazioni, facilità d'uso e basso sovraccarico di memoria. NVIDIA cuDNN può essere integrato in framework di machine learning di livello superiore come Tensorflow di Google, il popolare software caffe dell'UC Berkeley. Un semplice design plug-in permette agli sviluppatori di concentrarsi sulla progettazione e implementazione di modelli di reti neurali piuttosto che sulla semplice regolazione delle prestazioni, consentendo al contempo il calcolo parallelo moderno ad alte prestazioni sulle GPU.
Se vuoi addestrare un modello con una GPU, il cuDNN non è richiesto, ma generalmente viene usato come libreria di accelerazione.
Qual è il rapporto tra CUDA e CUDNN?
CUDA è visto come un banco da lavoro con molti strumenti come martelli, cacciaviti, ecc. cuDNN è una libreria di deep learning accelerata tramite GPU basata su CUDA, con la quale possono essere effettuati calcoli di deep learning su GPU. È equivalente a uno strumento per il lavoro, ad esempio, è una chiave inglese. Ma quando fu acquistato il banco da lavoro CUDA, non forniva una chiave inglese. Per far girare una rete neurale profonda su CUDA, devi installare cuDNN, proprio come vuoi avvitare un dado e comprare una chiave inglese. Questo permette alla GPU di lavorare su reti neurali profonde, molto più veloci rispetto a quelle delle CPU.
|