Wat is it ferskil tusken CUDA-kearnen en tensorkearnen? (útlein) - Alle ferskillen
Ynhâldsopjefte
CUDA- en Tensor-kearnen binne produkten ûntwikkele troch in bedriuw neamd Nvidia. Dus wat binne CUDA-kearnen en Tensor-kearnen? CUDA stiet foar Compute Unified Device Architecture. De CUDA-kearnen binne oanwêzich yn jo GPU's, smartphones, en sels jo auto's, lykas de Nvidia-ûntwikkelders dat sizze.
Sjoch ek: It ferskil tusken in 12-2 Wire & amp; a 14-2 Wire - Alle ferskillenCUDA-kearnen binne in parallele komputerplatfoarm en applikaasje-programmearring-ynterface (API) dy't software mooglik makket gebrûk te meitsjen fan spesifike soarten grafyske ferwurkingsienheden (GPU's) foar ferwurking foar algemiene doelen.
Wylst tensor-kearnen dy't ek waarden ûntwikkele troch Nvidia, ek wurde brûkt yn GPU's. Tensor Cores skeakelje mingde-precision computing yn, dynamysk oanpassen fan berekkeningen om trochput te ferheegjen by it behâld fan krektens.
Yn ienfâldige wurden binne dizze kearnen in wichtich ûnderdiel fan 'e GPU's yn jo pc om bepaalde berekkeningen te dwaan. CUDA-kearnen wurde brûkt om twa nûmers te fermannichfâldigjen en ta te foegjen oan in oar nûmer.
Wylst Tensor kearn is itselde, mar mei 4 × 4 matrices. Dizze berekkeningen meitsje yn prinsipe grafiken rapper foar jo.
Wat is CUDA?
Compute Unified Device Architecture yn koart CUDA ûntwikkele troch Nvidia, útbrocht op 23 juny 2007, is in parallel komputerplatfoarm en applikaasje-programmearring-ynterface (API).
Dat stelt software yn steat om spesifike soarten grafyske ferwurkings-ienheden (GPU's) te brûken foar ferwurking foar algemiene doelen, in metoade bekend as algemiene berekkenjen opGPU's (GPU's).
CUDA is in softwarelaach dy't direkte tagong jout ta de firtuele ynstruksjeset fan 'e GPU en parallelle berekkeningseleminten foar de útfiering fan komputerkernels. CUDA waard ûntwikkele om te wurkjen mei ferskate programmeartalen ynklusyf C, C++, en Fortran.
De mooglikheid om te wurkjen mei ferskate programmeartalen makket it makliker foar spesjalisten yn parallelle programmearring om gebrûk te meitsjen fan GPU-boarnen as wy it ûnderskiede fan eardere API's lykas Direct3D of OpenGL, wat soe fereaskje dat jo in mear avansearre hawwe feardigensbasis yn grafyske programmearring.
GPU mei CUDA stipet ek programmearkaders, lykas OpenMP, OpenACC, OpenCL, en ek HIP dy't sokke koade kinne kompilearje nei CUDA. De earste namme brûkt foar CUDA wie in akronym foar Compute Unified Device Architecture. Nvidia liet lykwols it gewoan brûkte akronym letter falle.
In krêftige Nvidia-grafykkaart GTX 1080 Ti
Mear oer CUDA
As in spesjalisearre kompjûterprosessor foldocht de grafyske ferwurkingsienheid (GPU) oan 'e behoeften fan echte -tiid, kompute-yntinsive 3D graphics workloads.
Oer 2012 GPU's evoluearre en wiene tige parallelle multi-core systemen wurden dy't effektive gegevensferwurking foar grutte blokken mooglik meitsje.
By it parallel ferwurkjen fan enoarme blokken gegevens is dit ûntwerp superieur oan sintrale ferwurkingsienheden (CPU's) foar algemiene doelen foar algoritmen, lykas:
- kryptografyske hashfunksjes
- masine learen
- molekulêre dynamyksimulaasjes
- fysikamotoren
- soarte algoritmen
Brûken fan 'e CUDA-arsjitektuer no en yn 'e takomst
- Fersnelde werjefte fan 3D-grafiken
- Fersnelde ynterkonverzje fan fideobestânsformaten
- Fersnelde fersifering, ûntsifering en kompresje
- Bioinformatika, bgl. NGS DNA-sekwinsje BarraCUDA
- Distribuearre berekkeningen, lykas it foarsizzen fan de native konformaasje fan aaiwiten
- Medyske analyzesimulaasjes, bygelyks firtuele realiteit basearre op CT- en MRI-scanôfbyldings
- Fysike simulaasjes, benammen yn fluiddynamika
- Neurale netwurktraining yn problemen mei masinelearen
- Gesichtsherkenning
- Distribuearre kompjûterprojekten, lykas [e-post beskerme] en oare projekten dy't brûke BOINC
- Molekulêre dynamyk
- Kryptofaluta mynbou
- Struktuur út beweging (SfM) software
Wat is in tensorkearn?
Spesjalisearre kearnen neamd Tensor Cores jouwe training mei mingde presyzje. De earste generaasje fan dizze spesjalisearre kearnen docht dit mei in fusearre multiply-add-algoritme. Dit makket it mooglik om te fermannichfâldigjen en heakjen twa 4 x 4 FP16 matrices oan in 4 x 4 FP16 of FP32 matriks.
It ultime resultaat sil FP32 wêze mei mar in lyts ferlies oan krektens, mingde presys komputer wurdt as sadanich oanwiisd, hoewolde ynfier matriks kin wêze lege-precision FP16.
Yn 'e praktyk fersnelt dit de berekkeningen signifikant mei in bytsje ynfloed op' e definitive effektiviteit fan it model. Dizze kapasiteit is útwreide troch lettere mikroarsjitektueren nei noch minder krekte kompjûternûmerfoarstellings.
De earste generaasje waard yntrodusearre mei Volta mikroarsjitektuer begjinnend by V100, mear kompjûternûmer presys formaten waarden beskikber steld foar berekkening mei nije GPU mikroarsjitektuer mei elke foarby generaasje.
Wy sille prate oer hoe't de kapasiteit en funksjonaliteit fan Tensor Cores binne feroare en ferbettere mei elke generaasje fan mikroarsjitektuer yn 'e seksje dy't folget.
In grafysk werjûn ôfbylding makke troch in Titan V
Hoe wurkje Tensor Cores?
Earste generaasje:
De Volta GPU mikroarsjitektuer waard opnommen mei de earste generaasje fan Tensor Cores. Dizze kearnen makken it mooglik om te trenen mei mingde presyzje en it FP16 nûmerformaat.
Sjoch ek: Wat is it ferskil tusken iisbearen en swarte bearen? (Grizzly Life) - Alle ferskillenDit kin maksimaal in 12x ympuls hawwe yn teraFLOP-trochput foar bepaalde GPU's. De 640 kearnen fan 'e top-tier V100 jouwe in 5x ferheging fan prestaasjessnelheid oer de Pascal GPU's fan 'e foarige generaasje.
Twadde generaasje:
Mei de yntroduksje fan Turing GPU's waard de twadde generaasje fan Tensor Cores yntrodusearre. Int8, Int4, en Int1 waarden tafoege oan de list mei stipe Tensor Core presys, dy't wieneearder beheind ta FP16.
Troch mingde presystrainingprosedueres waard de prestaasjes fan 'e GPU mei maksimaal 32 kear ferhege yn ferliking mei Pascal GPU's.
Tredde generaasje:
De arsjitektuer yn in Ampere GPU wreidet út op 'e eardere foarútgongen fan' e Volta- en Turing-mikro-arsjitektueren troch stipe ta te foegjen foar FP64, TF32, en bfloat16 presys.
Training foar djippe learen en konklúzjeaktiviteiten wurde folle mear fersneld troch dizze ekstra presysformaten. Bygelyks, it TF32-formaat funksjonearret fergelykber mei FP32, wylst it ek garandearret oant 20x speedups sûnder koade te feroarjen.
Dan, mei mar in pear rigels koade, sil automatyske ymplemintaasje fan mingde presyzje training mei in ekstra 2x fersnelle.
Tredde-generaasje NVLink om razendsnelle multi-GPU-ynteraksjes mooglik te meitsjen, tredde-generaasje Ray Tracing-kearnen, en spesjalisaasje mei sparse matrixwiskunde binne ekstra aspekten fan 'e Ampere-mikroarsjitektuer .
Fjirde generaasje:
In takomstige release fan 'e Hopper mikroarsjitektuer-basearre fjirde generaasje fan Tensor Cores is pland. De fjirde generaasje Tensor Cores yn 'e folgjende H100.
dy't ferwachte wurdt yn maart 2022 frijlitten, sil yn steat wêze om FP8-presisjonsformaten te behanneljen en, neffens NVIDIA, enoarme taalmodellen fersnelle "troch in ferrassende 30X oer de foarige generaasje.”
In RTX-grafyske kaart isbrûkt foar it werjaan fan graphics hiel fluch as it befettet tensor kearnen.
It ferskil tusken CUDA Cores en Tensor Cores
Tensor kearnen binne op it stuit beheind ta Titan V en Tesla V100. De 5120 CUDA-kearnen op beide GPU's hawwe in maksimale kapasiteit fan ien inkelde precision multiply-accumulate operaasje (bygelyks yn fp32: x += y * z) per GPU-klok (bgl. Tesla V100 PCIe-frekwinsje is 1.38Gz).
Elke tensor kearn wurket op 4 × 4 lytse matrices foar lytse matrices. Per ien GPU-klok kin elke tensorkearn ien matrix multiply-accumulearje operaasje foltôgje.
It fermannichfâldiget twa 4 × 4 FP16-matriksen en foeget de 4 × 4 FP32-matrix ta dy't resulteart yn 'e accumulator (dat is ek in fp32 4 × 4-matriks).
Om't de ynfiermatriksen fp16 binne, wylst de fermannichfâldigingsresultaten en accumulator fp32 binne, wurdt it algoritme bekend as mingde presyzje.
De juste term soe wierskynlik gewoan "4 × 4 matrix-kearnen" wêze, mar it NVIDIA-marketingteam keas foar "tensorkearnen" te brûken.
Folsleine útlis fan tensorkearnen yn in notedop
GPU-kaart | CUDA-kearnen | VRAM |
---|---|---|
GeForce GTX 1660 Ti | 1536 | 6GB |
GeForce GTX 1660 Super | 1408 | 6GB |
GeForce GTX 1660 | 1408 | 6GB |
GeForce GTX 1650 Super | 1408 | 4GB |
GeForce GTX 1650 | 1024 en896 | 4GB |
GeForce GTX 1060 3GB | 1280 | 4GB |
GeForce GTX 1650 | 1280 | 3GB |
GeForce GTX 1060 6GB | 768 | 6GB |
GeForce GTX 1050 Ti (3GB) | 768 | 4GB |
GeForce GTX 1050 (2GB) | 640 | 3GB |
GeForce GTX 960 | 1024 | 2GB |
GeForce GTX 950 | 786 | 2GB |
GeForce GTX 780 Ti | 2880 | 2GB |
GeForce GTX 780 | 2304 | 3GB |
GeForce GTX 750 Ti | 640 | 2 GB |
GeForce GTX 750 | 512 | 1GB of 2GB |
GPU's dy't CUDA-kearnen befetsje
Konklúzje
- CUDA- en Tensor-kearnen binne produkten, beide ûntwikkele troch in bedriuw neamd Nvidia. CUDA stiet foar Compute Unified Device Architecture. Dizze CUDA-kearnen binne oanwêzich yn jo GPU's, smartphones, en sels jo auto's.
- Wylst tensor-kearnen, dy't ek waarden ûntwikkele troch Nvidia, ek wurde brûkt yn GPU's. Spesjalisearre kearnen neamd "Tensor-kearnen" jouwe training mei mingde presyzje. De earste generaasje fan Tensor Cores makke it mooglik om te trenen mei mingde presyzje en it FP16 nûmerformaat.
- Dit kin maksimaal in 12x ympuls hawwe yn teraFLOP-trochput foar bepaalde GPU's. Int8, Int4, en Int1 waarden tafoege oan 'e list mei stipe Tensor Core-precisjes.
- Troch mingdprecision training prosedueres, de GPU syn prestaasje waard ferhege mei maksimaal 32 kear. In takomstige release fan 'e Hopper mikroarsjitektuer-basearre fjirde generaasje fan Tensor Cores is pland.