Koja je razlika između CUDA jezgri i tenzorskih jezgri? (Objašnjeno) – Sve razlike

 Koja je razlika između CUDA jezgri i tenzorskih jezgri? (Objašnjeno) – Sve razlike

Mary Davis

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 razlike

Razlika 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.

Ostali članci

    Mary Davis

    Mary Davis je spisateljica, kreatorica sadržaja i strastvena istraživačica specijalizirana za usporednu analizu različitih tema. S diplomom novinarstva i preko pet godina iskustva u tom području, Mary ima strast za pružanjem nepristranih i jasnih informacija svojim čitateljima. Njezina ljubav prema pisanju počela je kad je bila mlada i bila je pokretačka snaga njezine uspješne spisateljske karijere. Maryna sposobnost da istražuje i predstavlja nalaze u lako razumljivom i privlačnom formatu zavoljela ju je čitateljima diljem svijeta. Kad ne piše, Mary voli putovati, čitati i provoditi vrijeme s obitelji i prijateljima.