Draiveri allalaadimine:Hüperlingi sisselogimine on nähtav. CUDA tööriistakomplekt:Hüperlingi sisselogimine on nähtav. cuDNN:Hüperlingi sisselogimine on nähtav.
Mis on GPU?
GPU kontseptsiooni pakkus välja Nvidia 1999. aastal. GPU on kiip graafikakaardil, nagu protsessor on kiip emaplaadil. Nii et enne 1999. aastat polnud graafikakaartidel ühtegi GPU-d? Muidugi oli, kuid keegi ei nimetanud seda tol ajal, see ei äratanud piisavalt tähelepanu ja selle areng oli suhteliselt aeglane.
Alates sellest, kui Nvidia pakkus välja GPU kontseptsiooni, on GPU-d jõudnud kiire arengu perioodi. Lühidalt öeldes on see läbinud järgmised arenguetapid:
1. Ainult graafika renderdamiseks on see funktsioon GPU-de algne eesmärk, mida võib näha ka nimest: Graphic Processing Unit;
2. Hiljem avastati, et nii võimsa seadme nagu GPU kasutamine on liiga raiskav ainult graafikatöötluseks ning seda tuleks kasutada rohkemate tööde, näiteks ujukoma-operatsioonide jaoks. Kuidas seda teha? Ujukoma-toimingute otse GPU-le andmine ei ole võimalik, kuna seda saab kasutada ainult graafikatöötluseks (tol ajal). Kõige lihtsam on mõelda ujukomaarvutuste töötlemisele, pakkida need graafika renderdamisülesannetesse ja anda need GPU-le. See ongi GPGPU (General Purpose GPU) kontseptsioon. Kuid sellel on ka puudus, nimelt pead omama graafikateadmisi, muidu ei oska sa pakkida.
3. Seetõttu, et võimaldada inimestel, kes graafikast aru ei saa, kogeda GPU arvutuse võimsust, pakkus Nvidia välja CUDA kontseptsiooni.
Mis on CUDA?
CUDA (ComputeUnified Device Architecture) on arvutusplatvorm, mille käivitas graafikakaartide tootja NVIDIA. CUDA on üldotstarbeline paralleelarvutuse arhitektuur, mille käivitas NVIDIA. See sisaldab CUDA käsustiku arhitektuuri ja paralleelarvutusmootorit GPU sees. CUDA programme saab arendada kasutades CUDA C keelt, mis sarnaneb C keelele, mis teeb GPU võimsa arvutusvõimsuse kasutamise lihtsamaks, selle asemel et pakkida arvutusülesanne graafikarenderdamise ülesandeks ja seejärel anda see GPU-le töötlemiseks.
Teisisõnu, CUDA on paralleelarvutusraamistik, mille NVIDIA käivitas oma GPU-dele, mis tähendab, et CUDA saab töötada ainult NVIDIA GPU-del ning mängib CUDA rolli ainult siis, kui lahendatav arvutusprobleem seisneb selles, et seda saab arvutada paljudes paralleelsetes arvutustes.
Pane tähele, et mitte kõik GPU-d ei toeta CUDA-d.
Mis on CUDNN?
NVIDIA cuDNN on GPU-kiirendatud teek sügavate närvivõrkude jaoks. See rõhutab jõudlust, kasutusmugavust ja madalat mälukoormust. NVIDIA cuDNN-i saab integreerida kõrgema taseme masinõppe raamistikku, nagu Google'i Tensorflow, UC Berkeley populaarne caffe tarkvara. Lihtne pistikprogrammi disain võimaldab arendajatel keskenduda närvivõrgu mudelite kujundamisele ja rakendamisele, mitte ainult jõudluse häälestamisele, võimaldades samal ajal ka kõrge jõudlusega kaasaegset paralleelarvutust GPU-del.
Kui tahad treenida mudelit GPU-ga, pole cuDNN vajalik, kuid seda kasutatakse üldiselt kiirendusteegina.
Milline on CUDA ja CUDNN-i suhe?
CUDA-d nähakse kui tööpinki, kus on palju tööriistu nagu haamrid, kruvikeerajad jne. cuDNN on CUDA-põhine süvaõppe GPU-kiirendatud raamatukogu, millega saab GPU-del teha süvaõppe arvutusi. See on ekvivalentne töövahendiga, näiteks mutrivõti. Kuid kui CUDA töölaud osteti, ei pakkunud see mingit mutrivõtit. Sügava närvivõrgu käitamiseks CUDA-s pead paigaldama cuDNN-i, täpselt nagu tahad mutri keerata ja mutrivõtme tagasi osta. See võimaldab GPU-l töötada sügavates närvivõrkudes, mis on palju kiirem kui protsessorite oma.
|