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

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

Mary Davis

CUDA i Tensor jezgra su proizvodi koje je razvila kompanija Nvidia. Dakle, šta su CUDA jezgra i Tensor jezgra? CUDA je skraćenica od Compute Unified Device Architecture. CUDA jezgre su prisutne u vašim GPU-ovima, pametnim telefonima, pa čak i vašim automobilima, kako to kažu Nvidia programeri.

CUDA jezgre su paralelna računarska platforma i interfejs za programiranje aplikacija (API) koji omogućava softveru da koristi specifične tipove grafičkih procesorskih jedinica (GPU) za obradu opšte namene.

Dok se tenzorska jezgra koja je također razvila Nvidia, također koriste u GPU-ovima. Tensor jezgra omogućavaju računanje mješovite preciznosti, dinamički prilagođavajući proračune kako bi se povećala propusnost uz zadržavanje tačnosti.

Jednostavnim riječima, ove jezgre su važan dio GPU-a na vašem računaru za obavljanje određenih proračuna. CUDA jezgra se koriste za množenje dva broja i njihovo dodavanje drugom broju.

Dok je jezgra Tenzora ista, ali sa 4×4 matricama. Ovi proračuni u osnovi brže prikazuju grafiku za vas.

Šta je CUDA?

Compute Unified Device Architecture ukratko CUDA koju je razvila Nvidia, objavljena 23. juna 2007., je paralelna računarska platforma i sučelje za programiranje aplikacija (API).

To omogućava softveru da koristi specifične tipove grafičkih procesorskih jedinica (GPU-a) za obradu opće namjene, metod poznat kao računanje opće namjene naGPU (GPU).

CUDA je softverski sloj koji pruža direktan pristup virtuelnom skupu instrukcija GPU-a i paralelnim računskim elementima za izvršavanje računskih kernela. CUDA je razvijena za rad sa različitim programskim jezicima uključujući C, C++ i Fortran.

Mogućnost rada s različitim programskim jezicima olakšava stručnjacima za paralelno programiranje da koriste GPU resurse ako ga razlikujemo od prethodnih API-ja kao što su Direct3D ili OpenGL, što bi zahtijevalo da imate napredniji baza vještina u grafičkom programiranju.

GPU sa CUDA-om takođe podržava okvire za programiranje, kao što su OpenMP, OpenACC, OpenCL, kao i HIP koji može kompajlirati takav kod u CUDA. Prvi naziv koji se koristio za CUDA bio je akronim za Compute Unified Device Architecture. Međutim, Nvidia je kasnije odustala od uobičajenog akronima.

Moćna Nvidia grafička kartica GTX 1080 Ti

Više o CUDA-i

Kao specijalizovani računarski procesor, grafička procesorska jedinica (GPU) zadovoljava potrebe stvarnih -vremenski, računarski intenzivna 3D grafička radna opterećenja.

Oko 2012. GPU-i su se razvili i postali visoko paralelni sistemi sa više jezgara koji omogućavaju efikasnu obradu podataka za velike blokove.

Kada paralelno obrađuje ogromne blokove podataka, ovaj dizajn je superiorniji od centralnih procesorskih jedinica (CPU) opće namjene za algoritme, kao što su:

  • kriptografski hashfunkcije
  • mašinsko učenje
  • simulacije molekularne dinamike
  • fizički motori
  • algoritmi sortiranja

Upotreba CUDA arhitekture sada i u budućnosti

  • Ubrzano prikazivanje 3D grafike
  • Ubrzana međukonverzija formata video datoteka
  • Ubrzano šifriranje, dešifriranje i kompresija
  • Bioinformatika, npr. NGS DNK sekvenciranje BarraCUDA
  • Distribuirani proračuni, kao što je predviđanje prirodne konformacije proteina
  • Simulacije medicinske analize, na primjer, virtualna stvarnost zasnovana na CT i MRI slikama
  • Fizičke simulacije, posebno u dinamici fluida
  • Obuka neuronske mreže u problemima mašinskog učenja
  • Prepoznavanje lica
  • Distribuirani računarski projekti, kao što je [email zaštićen] i drugi projekti koji koriste BOINC
  • Molekularna dinamika
  • Rudarenje kriptovaluta
  • Softver za strukturu pokreta (SfM)

Šta je tenzorsko jezgro?

Specijalizovana jezgra nazvana Tensor Cores omogućavaju obuku mešovite preciznosti. Početna generacija ovih specijaliziranih jezgara to radi sa spojenim algoritmom višestruko dodaj. Ovo omogućava množenje i dodavanje dvije 4 x 4 FP16 matrice u 4 x 4 FP16 ili FP32 matricu.

Krajnji rezultat će biti FP32 sa samo malim gubitkom preciznosti, računanje mješovite preciznosti je označeno kao takvo iakoulazne matrice mogu biti FP16 niske preciznosti.

U praksi, ovo značajno ubrzava proračune sa malim uticajem na konačnu efikasnost modela. Ovaj kapacitet je proširen kasnijim mikroarhitekturama na još manje precizne kompjuterske brojeve.

Prva generacija je predstavljena sa Volta mikroarhitekturom počevši od V100, sve više formata za preciznost broja računara je postalo dostupno za računanje sa novim GPU mikroarhitekturama sa svakom generacijom koja prolazi.

Govorit ćemo o tome kako su se kapacitet i funkcionalnost Tensor Cores promijenili i poboljšali sa svakom generacijom mikroarhitekture u odjeljku koji slijedi.

Grafički prikazana slika koju je napravio Titan V

Kako rade tenzorske jezgre?

Prva generacija:

Volta GPU mikroarhitektura je uključena u prvu generaciju Tensor Cores. Ova jezgra su omogućila treniranje s mješovitom preciznošću i formatom brojeva FP16.

Ovo bi moglo imati do 12x povećanje u teraFLOP propusnosti za određene GPU-ove. 640 jezgara vrhunskog V100 daje do 5x povećanje brzine performansi u odnosu na Pascal GPU prethodne generacije.

Vidi_takođe: “Refurbished”, “Premium Refurbished” i “Pre Owned” (GameStop Edition) – sve razlike

Druga generacija:

Sa uvođenjem Turing GPU-a, predstavljena je druga generacija Tensor Cores-a. Int8, Int4 i Int1 su dodani na listu podržanih Tensor Core preciznosti, koje suranije ograničen na FP16.

Zbog mješovitih postupaka precizne obuke, propusnost performansi GPU-a povećana je do 32 puta u odnosu na Pascal GPU.

Treća generacija:

Arhitektura u Ampere GPU-u proširuje ranija unapređenja Volta i Turing mikroarhitektura dodavanjem podrške za preciznosti FP64, TF32 i bfloat16.

Obuka dubokog učenja i aktivnosti zaključivanja su mnogo više ubrzane ovim ekstra preciznim formatima. Na primjer, TF32 format funkcionira slično kao FP32, a istovremeno jamči i do 20x ubrzanja bez promjene koda.

Vidi_takođe: Koja je razlika između “Kacchan” i “Bakugo” u My Hero Academia? (Činjenice) – Sve razlike

Onda, sa samo nekoliko linija koda, automatska implementacija mješovite preciznosti će ubrzati obuku za dodatnih 2x.

NVLink treće generacije koji omogućava nevjerovatno brze multi-GPU interakcije, treća generacija jezgara za praćenje zraka i specijalizacija s matematikom rijetke matrice dodatni su aspekti Ampere mikroarhitekture .

Četvrta generacija:

Planirano je buduće izdanje četvrte generacije Tensor Cores baziranih na Hopper mikroarhitekturi. Četvrta generacija tenzorskih jezgara u narednoj H100.

koja se očekuje u martu 2022. godine, moći će da obrađuje FP8 precizne formate i, prema NVIDIA-i, ubrzaće ogromne jezičke modele “za zapanjujućih 30X u odnosu na prethodnu generaciju.”

RTX grafička kartica jekoristi se za vrlo brzo renderiranje grafike jer sadrži tenzorska jezgra.

Razlika između CUDA jezgara i tenzorskih jezgara

Tenzorska jezgra su trenutno ograničena na Titan V i Tesla V100. 5120 CUDA jezgre na oba GPU-a imaju maksimalan kapacitet jedne precizne operacije množenja-akumulacije (na primjer, u fp32: x += y * z) po taktu GPU-a (npr. Tesla V100 PCIe frekvencija je 1,38 Gz).

Svaka tenzorska jezgra radi na malim matricama 4×4 za male matrice. Po jednom taktu GPU-a, svaka tenzorska jezgra može završiti jednu operaciju multipliciranja-akumulacije matrice.

Množi dvije 4×4 FP16 matrice i dodaje 4×4 FP32 matricu koja rezultira akumulatorom (koji je također fp32 4×4 matrica).

Budući da su ulazne matrice fp16 dok su rezultati množenja i akumulator fp32, algoritam je poznat kao mješovita preciznost.

Tačan izraz bi vjerovatno bio samo “4×4 matrična jezgra”, ali NVIDIA marketinški tim je odlučio koristiti “tenzorske jezgre”.

Tenzorske jezgre potpuno objašnjenje 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, oba razvijena od strane kompanije Nvidia. CUDA je skraćenica od Compute Unified Device Architecture. Ove CUDA jezgre su prisutne u vašim GPU-ovima, pametnim telefonima, pa čak i vašim automobilima.
  • Dok se tenzorska jezgra, koja je također razvila Nvidia, također koriste u GPU-ovima. Specijalizovana jezgra nazvana “Tenzorska jezgra” omogućavaju trening mešovite preciznosti. Prva generacija tenzorskih jezgara omogućila je treniranje s mješovitom preciznošću i formatom brojeva FP16.
  • Ovo bi moglo imati do 12x povećanje u teraFLOP propusnosti za određene GPU-ove. Int8, Int4 i Int1 su dodani na listu podržanih Tensor Core preciznosti.
  • Zbog miješanjaprecizne procedure obuke, performanse GPU-a su povećane do 32 puta. Planirano je buduće izdanje četvrte generacije Tensor Cores baziranih na mikroarhitekturi Hopper.

Ostali članci

    Mary Davis

    Mary Davis je spisateljica, kreatorica sadržaja i strastvena istraživačica specijalizirana za analizu poređenja na različite teme. Sa diplomom novinarstva i preko pet godina iskustva u ovoj oblasti, Meri ima strast za pružanjem nepristrasnih i direktnih informacija svojim čitaocima. Njena ljubav prema pisanju počela je kada je bila mlada i bila je pokretačka snaga njene uspješne pisane karijere. Maryina sposobnost da istražuje i prezentira nalaze u lako razumljivom i zanimljivom formatu oduševila ju je čitateljima širom svijeta. Kada ne piše, Meri uživa u putovanjima, čitanju i druženju sa porodicom i prijateljima.