Koja je razlika između CUDA jezgri i tenzorskih jezgri? (Objašnjeno) – Sve razlike
Sadržaj
CUDA i Tensor jezgre proizvodi su koje je razvila tvrtka pod nazivom Nvidia. Dakle, što su CUDA jezgre i Tensor jezgre? CUDA je kratica za Compute Unified Device Architecture. CUDA jezgre prisutne su u vašim GPU-ovima, pametnim telefonima, pa čak i u vašim automobilima, kako to kažu Nvidijini programeri.
CUDA jezgre su paralelna računalna platforma i sučelje za programiranje aplikacija (API) koje softveru omogućuje korištenje određenih vrsta grafičkih procesorskih jedinica (GPU) za obradu opće namjene.
Dok se tenzorske jezgre koje je također razvila Nvidia također koriste u GPU-ovima. Tensor Cores omogućuju računalstvo mješovite preciznosti, dinamičku prilagodbu izračuna radi povećanja propusnosti uz zadržavanje točnosti.
Jednostavnim riječima, ove jezgre važan su dio GPU-a u vašem računalu za izvođenje određenih izračuna. CUDA jezgre koriste se za množenje dva broja i njihovo zbrajanje drugom broju.
Dok je Tensor jezgra ista ali s 4×4 matricama. Ovi izračuni u osnovi vam brže prikazuju grafiku.
Što je CUDA?
Compute Unified Device Architecture ukratko CUDA koju je razvila Nvidia, objavljena 23. lipnja 2007., paralelna je računalna platforma i sučelje za programiranje aplikacija (API).
To omogućuje softveru korištenje određenih vrsta grafičkih procesorskih jedinica (GPU) za obradu opće namjene, metoda poznata kao računalstvo opće namjene naGPU-ovi (GPU).
CUDA je softverski sloj koji pruža izravan pristup virtualnom skupu instrukcija GPU-a i paralelnim računalnim elementima za izvođenje računalnih kernela. CUDA je razvijena za rad s različitim programskim jezicima uključujući C, C++ i Fortran.
Sposobnost rada s različitim programskim jezicima olakšava stručnjacima za paralelno programiranje korištenje resursa GPU-a ako ga razlikujemo od prijašnjih API-ja kao što su Direct3D ili OpenGL, koji bi zahtijevali da imate napredniji baza vještina u grafičkom programiranju.
GPU sa CUDA-om također podržava programske okvire, kao što su OpenMP, OpenACC, OpenCL, a također i HIP koji može kompajlirati takav kod u CUDA. Prvi naziv korišten za CUDA bio je akronim za Compute Unified Device Architecture. Međutim, Nvidia je kasnije odbacila često korišteni akronim.
Snažna Nvidia grafička kartica GTX 1080 Ti
Više o CUDA
Kao specijalizirani računalni procesor, grafička procesorska jedinica (GPU) zadovoljava potrebe stvarnog -vrijeme, računalno intenzivna radna opterećenja 3D grafike.
Otprilike 2012. GPU-ovi su se razvili i postali vrlo paralelni višejezgreni sustavi koji omogućuju učinkovitu obradu podataka za velike blokove.
Kada paralelno obrađujete ogromne blokove podataka, ovaj je dizajn bolji od središnjih procesorskih jedinica opće namjene (CPU) za algoritme, kao što su:
Vidi također: "Rock" protiv "Rock 'n' Rolla" (objašnjenje razlike) - sve razlike- kriptografski hashfunkcije
- strojno učenje
- simulacije molekularne dinamike
- fizički motori
- algoritmi sortiranja
Upotreba CUDA arhitekture sada i u budućnosti
- Ubrzano iscrtavanje 3D grafike
- Ubrzana interkonverzija formata video datoteka
- Ubrzano šifriranje, dešifriranje i kompresija
- Bioinformatika, npr., NGS DNA sekvenciranje BarraCUDA
- Distribuirani izračuni, kao što je predviđanje prirodne konformacije proteina
- Simulacije medicinske analize, na primjer, virtualna stvarnost temeljena na slikama CT i MRI
- Fizičke simulacije, posebno u dinamici fluida
- Trening neuronske mreže u problemima strojnog učenja
- Prepoznavanje lica
- Projekti distribuiranog računalstva, kao što su [email protected] i drugi projekti koji koriste BOINC
- Molekularna dinamika
- Rudarenje kriptovaluta
- Softver Struktura iz kretanja (SfM)
Što je Tensor Core?
Specijalizirane jezgre koje se nazivaju tenzorske jezgre omogućuju vježbanje miješane preciznosti. Početna generacija ovih specijaliziranih jezgri to čini pomoću spojenog algoritma množenja i dodavanja. Ovo omogućuje množenje i zbrajanje dvije matrice 4 x 4 FP16 u matricu 4 x 4 FP16 ili FP32.
Krajnji rezultat bit će FP32 sa samo malim gubitkom preciznosti, računalstvo miješane preciznosti je označeno kao takvo iakoulazne matrice mogu biti FP16 niske preciznosti.
U praksi, ovo značajno ubrzava izračune s malim utjecajem na konačnu učinkovitost modela. Taj je kapacitet kasnijim mikroarhitekturama proširen na još manje precizne računalne reprezentacije brojeva.
Prva generacija predstavljena je s Volta mikroarhitekturom počevši od V100, više računalnih formata brojčane preciznosti postalo je dostupno za računanje s novim GPU mikroarhitekturama sa svakom generacijom.
Razgovarat ćemo o tome kako su se kapacitet i funkcionalnost Tensor Cores mijenjali i poboljšavali sa svakom generacijom mikroarhitekture u odjeljku koji slijedi.
Grafički prikazana slika koju je napravio Titan V
Kako rade tenzorske jezgre?
Prva generacija:
Mikroarhitektura Volta GPU uključena je u prvu generaciju Tensor Cores. Ove jezgre omogućile su treniranje s mješovitom preciznošću i formatom broja FP16.
Ovo bi moglo imati do 12x povećanje propusnosti teraFLOP za određene GPU-ove. 640 jezgri vrhunskog V100 daje do 5x povećanje brzine performansi u odnosu na Pascal GPU prethodne generacije.
Druga generacija:
Uvođenjem Turingovih GPU-ova, predstavljena je druga generacija Tensor Cores. Int8, Int4 i Int1 dodani su na popis podržanih preciznosti Tensor Core, koje suprethodno ograničen na FP16.
Zbog mješovitih preciznih postupaka obuke, propusnost performansi GPU-a povećana je do 32 puta u usporedbi s Pascal GPU-ima.
Treća generacija:
Arhitektura u Ampere GPU-u proširuje ranija poboljšanja mikroarhitektura Volta i Turing dodavanjem podrške za FP64, TF32 i bfloat16 preciznosti.
Trening dubinskog učenja i aktivnosti zaključivanja mnogo se više ubrzavaju ovim formatima dodatne preciznosti. Na primjer, format TF32 funkcionira slično kao FP32, a također jamči do 20x ubrzanja bez mijenjanja koda.
Tada će uz samo nekoliko redaka koda automatska implementacija mješovite preciznosti ubrzati obuku za dodatnih 2x.
Treća generacija NVLink za omogućavanje munjevito brze interakcije s više GPU-a, treća generacija Ray Tracing jezgri i specijalizacija s matematikom rijetke matrice dodatni su aspekti mikroarhitekture Ampere .
Četvrta generacija:
Planirano je buduće izdanje četvrte generacije tenzorskih jezgri temeljene na Hopper mikroarhitekturi. Četvrta generacija tenzorskih jezgri u sljedećem H100.
čije se izdanje očekuje u ožujku 2022., moći će rukovati FP8 preciznim formatima i, prema NVIDIA-i, ubrzat će ogromne jezične modele “za nevjerojatnih 30X u odnosu na prethodnu generaciju.”
RTX grafička kartica jekoristi se za vrlo brzo renderiranje grafike jer sadrži tenzorske jezgre.
Vidi također: Cornrows vs. Box Braids (usporedba) – sve razlikeRazlika između CUDA jezgri i tenzorskih jezgri
Tenzorske jezgre trenutno su ograničene na Titan V i Tesla V100. 5120 CUDA jezgri na oba GPU-a imaju maksimalni kapacitet od jedne operacije preciznog množenja-akumulacije (na primjer, u fp32: x += y * z) po taktu GPU-a (npr. Tesla V100 PCIe frekvencija je 1,38 Gz).
Svaka jezgra tenzora radi na malim matricama 4×4 za male matrice. Po jednom GPU taktu, svaka tenzorska jezgra može dovršiti jednu operaciju množenja-akumulacije matrice.
Množi dvije matrice 4×4 FP16 i dodaje matricu 4×4 FP32 koja rezultira akumulatorom (to je također matrica fp32 4×4).
Budući da su ulazne matrice fp16 dok su rezultati množenja i akumulator fp32, algoritam je poznat kao mješovita preciznost.
Ispravan izraz vjerojatno bi bio samo "4×4 matrične jezgre", ali NVIDIA marketinški tim odlučio je koristiti "tenzorske jezgre".
Potpuno objašnjenje tensorskih jezgri ukratko
GPU kartica | CUDA jezgre | 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 i896 | 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 ili 2 GB |
GPU-ovi koji sadrže CUDA jezgre
Zaključak
- CUDA i Tensor jezgre su proizvodi koje je razvila tvrtka Nvidia. CUDA je kratica za Compute Unified Device Architecture. Ove CUDA jezgre prisutne su u vašim GPU-ovima, pametnim telefonima, pa čak i u vašim automobilima.
- Dok se tenzorske jezgre, koje je također razvila Nvidia, također koriste u GPU-ovima. Specijalizirane jezgre nazvane "Tensor jezgre" omogućuju vježbanje mješovite preciznosti. Prva generacija tenzorskih jezgri omogućila je treniranje s mješovitom preciznošću i formatom broja FP16.
- Ovo bi moglo imati do 12x povećanje propusnosti teraFLOP za određene GPU-ove. Int8, Int4 i Int1 dodani su na popis podržanih preciznosti Tensor Core.
- Zbog mješovitogpreciznim postupcima obuke, performanse GPU-a povećane su do 32 puta. Planirano je buduće izdanje četvrte generacije tenzorskih jezgri temeljene na mikroarhitekturi Hopper.