Driver downloaden:De hyperlink-login is zichtbaar. CUDA Toolkit:De hyperlink-login is zichtbaar. cuDNN:De hyperlink-login is zichtbaar.
Wat is een GPU?
Het concept van de GPU werd in 1999 door Nvidia voorgesteld. Een GPU is een chip op een grafische kaart, net zoals een CPU een chip is op een moederbord. Dus er zaten vóór 1999 geen GPU's op grafische kaarten? Natuurlijk was die er, maar niemand noemde het toen, het trok niet genoeg aandacht van mensen, en de ontwikkeling ervan verliep relatief traag.
Sinds Nvidia het concept van GPU's heeft voorgesteld, zijn GPU's een periode van snelle ontwikkeling ingegaan. Kortom, het heeft de volgende ontwikkelingsfasen doorlopen:
1. Alleen voor grafische rendering is deze functie de oorspronkelijke bedoeling van GPU's, wat te zien is aan de naam: Graphic Processing Unit;
2. Later werd ontdekt dat het te verspilling was voor zo'n krachtig apparaat als een GPU om alleen voor grafische verwerking te worden gebruikt, en dat het meer werk moest doen, zoals floating-point bewerkingen. Hoe doe je dat? Het direct toekennen van floating-pointbewerkingen aan de GPU is niet mogelijk omdat deze alleen voor grafische verwerking kan worden gebruikt (op dat moment). Het makkelijkste om te bedenken is om wat floating point-operaties te verwerken, ze te verpakken in grafische rendertaken en ze vervolgens aan de GPU over te dragen. Dit is het concept van GPGPU (General Purpose GPU). Er is echter een nadeel aan dit, namelijk dat je enige kennis van graphics moet hebben, anders weet je niet hoe je moet inpakken.
3. Daarom stelde Nvidia, om mensen die geen graphics begrijpen de kracht van GPU-computing te laten ervaren, het concept CUDA voor.
Wat is CUDA?
CUDA (ComputeUnified Device Architecture) is een computerplatform dat is gelanceerd door de fabrikant van grafische kaarten NVIDIA. CUDA is een algemene parallelle computingarchitectuur die door NVIDIA is gelanceerd. Het bevat de CUDA-instructiesetarchitectuur en een parallelle rekenengine binnen de GPU. Je kunt CUDA-programma's ontwikkelen door een CUDA C-taal te gebruiken die lijkt op de C-taal, wat het makkelijker maakt om de krachtige rekenkracht van de GPU te benutten, in plaats van de rekentaak te verpakken in een grafische renderingstaak en deze vervolgens aan de GPU over te dragen om te verwerken.
Met andere woorden, CUDA is een parallel rekenraamwerk dat door NVIDIA is gelanceerd voor zijn eigen GPU's, wat betekent dat CUDA alleen op de GPU's van NVIDIA kan draaien en alleen de rol van CUDA kan spelen wanneer het rekenprobleem is dat het in een groot aantal parallelle berekeningen kan worden berekend.
Let op: niet alle GPU's ondersteunen CUDA.
Wat is CUDNN?
NVIDIA cuDNN is een GPU-versnelde bibliotheek voor diepe neurale netwerken. Het legt de nadruk op prestaties, gebruiksgemak en lage geheugenoverhead. NVIDIA cuDNN kan worden geïntegreerd in geavanceerde machine learning-frameworks zoals Google's Tensorflow, de populaire caffe-software van UC Berkeley. Eenvoudig plug-in ontwerp stelt ontwikkelaars in staat zich te richten op het ontwerpen en implementeren van neurale netwerkmodellen in plaats van alleen de prestaties af te stemmen, terwijl het ook moderne moderne parallelle computing op GPU's mogelijk maakt.
Als je een model met een GPU wilt trainen, is cuDNN niet vereist, maar het wordt meestal gebruikt als versnellingsbibliotheek.
Wat is de relatie tussen CUDA en CUDNN?
CUDA wordt gezien als een werkbank met veel gereedschappen zoals hamers, schroevendraaiers, enzovoort. cuDNN is een CUDA-gebaseerde deep learning GPU-versnelde bibliotheek, waarmee deep learning-berekeningen op GPU's kunnen worden uitgevoerd. Het is bijvoorbeeld gelijkwaardig aan een werkwerktuig, het is een moersleutel. Maar toen de CUDA-werkbank werd gekocht, leverde die geen moersleutel op. Om een diep neuraal netwerk op CUDA te draaien, moet je cuDNN installeren, net zoals je een moer wilt schroeven en een moersleutel terug wilt kopen. Dit stelt de GPU in staat om te werken op diepe neurale netwerken, wat veel sneller is dan die van CPU's.
|