Wat is die verskil tussen CUDA Cores en Tensor Cores? (Verduidelik) – Al die verskille

 Wat is die verskil tussen CUDA Cores en Tensor Cores? (Verduidelik) – Al die verskille

Mary Davis

CUDA- en Tensor-kerne is produkte wat ontwikkel is deur 'n maatskappy genaamd Nvidia. So, wat is CUDA-kerns en Tensor-kerne? CUDA staan ​​vir Compute Unified Device Architecture. Die CUDA-kerne is teenwoordig in jou GPU's, slimfone en selfs jou motors, soos die Nvidia-ontwikkelaars so sê.

CUDA-kerns is 'n parallelle rekenaarplatform en toepassingsprogrammeringskoppelvlak (API) wat sagteware in staat stel om van spesifieke tipes grafiese verwerkingseenhede (GPU's) gebruik te maak vir algemene doelverwerking.

Tensor kerne wat ook deur Nvidia ontwikkel is, word ook in GPU's gebruik. Tensor Cores stel gemengde-presisie-berekening moontlik, en pas berekeninge dinamies aan om deurset te verhoog, terwyl akkuraatheid behoue ​​bly.

In eenvoudige woorde, hierdie kerns is 'n belangrike deel van die GPU's in jou rekenaar om sekere berekeninge te doen. CUDA-kerns word gebruik om twee getalle te vermenigvuldig en by 'n ander getal te voeg.

Terwyl Tensor-kern dieselfde is, maar met 4×4-matrikse. Hierdie berekeninge lewer basies grafika vinniger vir jou.

Wat is CUDA?

Compute Unified Device Architecture in kort CUDA ontwikkel deur Nvidia, vrygestel op 23 Junie 2007, is 'n parallelle rekenaarplatform en toepassingsprogrammeringskoppelvlak (API).

Dit stel sagteware in staat om spesifieke tipes grafiese verwerkingseenhede (GPU's) te gebruik vir algemene doeleindes verwerking, 'n metode wat bekend staan ​​as algemene doeleindes rekenaarGPU's (GPU's).

CUDA is 'n sagtewarelaag wat direkte toegang bied tot die GPU se virtuele instruksiestel en parallelle berekeningselemente vir die uitvoering van rekenaarkerne. CUDA is ontwikkel om met verskillende programmeertale te werk, insluitend C, C++ en Fortran.

Die vermoë om met verskillende programmeertale te werk maak dit makliker vir spesialiste in parallelle programmering om gebruik te maak van GPU-hulpbronne as ons dit onderskei van vorige API's soos Direct3D of OpenGL, wat sal vereis dat jy 'n meer gevorderde vaardigheidsbasis in grafiese programmering.

GPU met CUDA ondersteun ook programmeringsraamwerke, soos OpenMP, OpenACC, OpenCL, en ook HIP wat sulke kode na CUDA kan saamstel. Die eerste naam wat vir CUDA gebruik is, was 'n akroniem vir Compute Unified Device Architecture. Nvidia het egter later die algemeen gebruikte akroniem laat vaar.

'n Kragtige Nvidia-grafiese kaart GTX 1080 Ti

Meer oor CUDA

As 'n gespesialiseerde rekenaarverwerker voldoen die grafiese verwerkingseenheid (GPU) aan die behoeftes van werklike -tyd, rekenaar-intensiewe 3D-grafika-werkladings.

Sien ook: Wat is die verskil tussen skyn en reflekteer? Blink of reflekteer diamante? (Feitelike kontrole) – Al die verskille

Omtrent 2012 het GPU's ontwikkel en hoogs parallelle multikernstelsels geword wat effektiewe dataverwerking vir groot blokke moontlik maak.

Wanneer groot blokke data parallel verwerk word, is hierdie ontwerp beter as algemene-doel sentrale verwerkingseenhede (CPU's) vir algoritmes, soos:

  • kriptografiese hashfunksies
  • masjienleer
  • molekulêre dinamika-simulasies
  • fisika-enjins
  • sorteer algoritmes

Gebruike van die CUDA-argitektuur Nou en in die toekoms

  • Versnelde weergawe van 3D-grafika
  • Versnelde interomskakeling van videolêerformate
  • Versnelde enkripsie, dekripsie en kompressie
  • Bioinformatika, bv. NGS DNA-volgordebepaling BarraCUDA
  • Verspreide berekeninge, soos die voorspelling van die inheemse konformasie van proteïene
  • Mediese analise-simulasies, byvoorbeeld, virtuele realiteit gebaseer op CT- en MRI-skanderingbeelde
  • Fisiese simulasies, veral in vloeidinamika
  • Neurale netwerkopleiding in masjienleerprobleme
  • Gesigherkenning
  • Verspreide rekenaarprojekte, soos [e-pos beskerm] en ander projekte wat gebruik maak van BOINC
  • Molekulêre dinamika
  • Ontginning van kriptogeldeenhede
  • Struktuur vanaf beweging (SfM) sagteware

Wat is 'n tensorkern?

Gespesialiseerde kerne genoem Tensor Cores maak voorsiening vir gemengde-presisie opleiding. Hierdie gespesialiseerde kerns se aanvanklike generasie doen dit met 'n saamgesmelte vermenigvuldig-optel-algoritme. Dit maak dit moontlik om twee 4 x 4 FP16-matrikse te vermenigvuldig en by 'n 4 x 4 FP16- of FP32-matriks te voeg.

Die uiteindelike resultaat sal FP32 wees met slegs 'n geringe verlies aan presisie, gemengde presisie-berekening word as sodanig aangewys, selfs aldie insetmatrikse kan lae-presisie FP16 wees.

In die praktyk versnel dit die berekeninge aansienlik met min invloed op die model se finale doeltreffendheid. Hierdie kapasiteit is deur latere mikroargitekture uitgebrei na selfs minder presiese rekenaargetalvoorstellings.

Die eerste generasie is bekendgestel met Volta-mikro-argitektuur wat by V100 begin, meer rekenaarnommer-presisieformate is beskikbaar gestel vir berekening met nuwe GPU-mikro-argitekture met elke verbygaande generasie.

Ons sal praat oor hoe Tensor Cores se kapasiteit en funksionaliteit verander en verbeter het met elke mikroargitektuurgenerasie in die afdeling wat volg.

'n Grafies-weergegeven beeld gemaak deur 'n Titan V

Hoe werk Tensor Cores?

Eerste generasie:

Die Volta GPU-mikroargitektuur is by die eerste generasie Tensor Cores ingesluit. Hierdie kerne het dit moontlik gemaak om met gemengde presisie en die FP16-getalformaat te oefen.

Dit kan tot 'n 12x hupstoot in teraFLOP-deurset vir sekere GPU's hê. Die 640 kerne van die topvlak-V100 gee tot 'n 5x toename in werkverrigtingspoed oor die Pascal GPU's van die vorige generasie.

Tweede generasie:

Met die bekendstelling van Turing GPU's is die tweede generasie Tensor Cores bekendgestel. Int8, Int4 en Int1 is by die lys van ondersteunde Tensor Core presisies gevoeg, watvoorheen beperk tot FP16.

As gevolg van gemengde presisie-opleidingsprosedures, is die GPU se werkverrigting deurset met tot 32 keer verhoog in vergelyking met Pascal GPU's.

Derde generasie:

Die argitektuur in 'n Ampere GPU brei uit op die Volta- en Turing-mikro-argitekture se vroeëre vooruitgang deur ondersteuning vir FP64-, TF32- en bfloat16-presisies by te voeg.

Sien ook: Digitaal vs. Elektronies (Wat is die verskil?) - Al die verskille

Diep leeropleiding en afleidingsaktiwiteite word baie meer versnel deur hierdie ekstra presisieformate. Byvoorbeeld, die TF32-formaat funksioneer soortgelyk aan FP32, terwyl dit ook tot 20x versnellings waarborg sonder om enige kode te verander.

Dan, met net 'n paar reëls kode, sal outomatiese gemengde presisie-implementering opleiding met 'n bykomende 2x bespoedig.

Derdegenerasie NVLink om blitsvinnige multi-GPU-interaksies moontlik te maak, derdegenerasie Ray Tracing-kerne, en spesialisasie met yl matrikswiskunde is bykomende aspekte van die Ampere-mikroargitektuur .

Vierde generasie:

'n Toekomstige vrystelling van die Hopper-mikroargitektuur-gebaseerde vierde generasie Tensor Cores word beplan. Die vierde generasie Tensor Cores in die volgende H100.

wat na verwagting in Maart 2022 vrygestel sal word, sal FP8-presisieformate kan hanteer en, volgens NVIDIA, groot taalmodelle versnel “met 'n verstommende 30X oor die vorige generasie.”

'n RTX-grafiese kaart isgebruik vir die lewering van grafika baie vinnig aangesien dit tensor-kerne bevat.

Die verskil tussen CUDA Cores en Tensor Cores

Tensor-kerne is tans beperk tot Titan V en Tesla V100. Die 5120 CUDA-kerns op beide GPU's het 'n maksimum kapasiteit van een enkele presisie vermenigvuldig-akkumuleer-bewerking (byvoorbeeld in fp32: x += y * z) per GPU-klok (bv. Tesla V100 PCIe-frekwensie is 1,38Gz).

Elke tensorkern werk op 4×4 klein matrikse vir klein matrikse. Per een GPU-klok kan elke tensorkern een matriks vermenigvuldig-akkumuleer-bewerking voltooi.

Dit vermenigvuldig twee 4×4 FP16-matrikse en voeg die 4×4 FP32-matriks by wat die akkumulator tot gevolg het (dit is ook 'n fp32 4×4-matriks).

Omdat die insetmatrikse fp16 is terwyl die vermenigvuldigingsresultate en akkumulator fp32 is, staan ​​die algoritme bekend as gemengde presisie.

Die korrekte term sal waarskynlik net "4 × 4-matrikskerne" wees, maar die NVIDIA-bemarkingspan het gekies om "tensorkerne" te gebruik.

Tensor kern volledige verduideliking in 'n neutedop

GPU-kaart CUDA-kern 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 1 GB of 2 GB

GPU's wat CUDA-kerns bevat

Gevolgtrekking

  • CUDA- en Tensor-kerns is produkte, beide ontwikkel deur 'n maatskappy genaamd Nvidia. CUDA staan ​​vir Compute Unified Device Architecture. Hierdie CUDA-kerne is teenwoordig in u GPU's, slimfone en selfs u motors.
  • Tensor kerne, wat ook deur Nvidia ontwikkel is, word ook in GPU's gebruik. Gespesialiseerde kerne genoem "Tensor cores" maak voorsiening vir gemengde-presisie opleiding. Die eerste generasie Tensor Cores het dit moontlik gemaak om met gemengde presisie en die FP16-getalformaat op te lei.
  • Dit kan tot 'n 12x hupstoot in teraFLOP-deurset vir sekere GPU's hê. Int8, Int4 en Int1 is by die lys van ondersteunde Tensor Core-presisies gevoeg.
  • As gevolg van gemengdepresisie-opleidingsprosedures, is die GPU se werkverrigting met tot 32 keer verhoog. 'n Toekomstige vrystelling van die Hopper-mikroargitektuur-gebaseerde vierde generasie Tensor Cores word beplan.

Ander artikels

    Mary Davis

    Mary Davis is 'n skrywer, inhoudskepper en ywerige navorser wat spesialiseer in vergelykingsanalise oor verskeie onderwerpe. Met 'n graad in joernalistiek en meer as vyf jaar se ondervinding in die veld, het Mary 'n passie om onbevooroordeelde en reguit inligting aan haar lesers te lewer. Haar liefde vir skryf het begin toe sy jonk was en was 'n dryfveer agter haar suksesvolle loopbaan in skryfwerk. Mary se vermoë om navorsing te doen en bevindinge in 'n maklik verstaanbare en boeiende formaat aan te bied, het haar by lesers regoor die wêreld bekoor. Wanneer sy nie skryf nie, geniet Mary dit om te reis, lees en tyd saam met familie en vriende deur te bring.