Mi a különbség a CUDA-magok és a Tensor-magok között? (Magyarázat) - Minden különbség

 Mi a különbség a CUDA-magok és a Tensor-magok között? (Magyarázat) - Minden különbség

Mary Davis

A CUDA és a Tensor magok az Nvidia nevű cég által kifejlesztett termékek. Mi is az a CUDA mag és a Tensor mag? A CUDA a Compute Unified Device Architecture rövidítése. A CUDA magok jelen vannak a GPU-kban, az okostelefonokban, sőt, az Nvidia fejlesztői szerint még az autókban is.

A CUDA-magok egy párhuzamos számítási platform és alkalmazásprogramozási interfész (API), amely lehetővé teszi a szoftverek számára, hogy általános célú feldolgozásra használják a grafikus feldolgozóegységek (GPU-k) meghatározott típusait.

Míg a tenzormagokat, amelyeket szintén az Nvidia fejlesztett ki, szintén a GPU-kban használják. A tenzormagok lehetővé teszik a vegyes pontosságú számítást, dinamikusan adaptálva a számításokat az átviteli sebesség növelése érdekében, a pontosság fenntartása mellett.

Egyszerűen fogalmazva, ezek a magok a számítógépedben lévő GPU-k fontos részét képezik bizonyos számítások elvégzéséhez. A CUDA magok két szám szorzására és egy másik számhoz való hozzáadására szolgálnak.

Míg a Tensor core ugyanez, de 4×4 mátrixokkal. Ezek a számítások alapvetően gyorsabban renderelik a grafikát.

Mi a CUDA?

A Compute Unified Device Architecture, röviden CUDA az Nvidia által kifejlesztett, 2007. június 23-án kiadott párhuzamos számítási platform és alkalmazásprogramozási interfész (API).

Ez lehetővé teszi a szoftverek számára, hogy a grafikus feldolgozóegységek (GPU-k) meghatározott típusait általános célú feldolgozásra használják, ez a módszer a GPU-kon történő általános célú számítás (GPU) néven ismert.

A CUDA egy olyan szoftverréteg, amely közvetlen hozzáférést biztosít a GPU virtuális utasításkészletéhez és a párhuzamos számítási elemekhez a számítási kernelek végrehajtásához. A CUDA-t úgy fejlesztették ki, hogy különböző programozási nyelvekkel, többek között a C, C++ és Fortran nyelvekkel működjön együtt.

A különböző programozási nyelvekkel való munka képessége megkönnyíti a párhuzamos programozásban jártas szakemberek számára a GPU-erőforrások kihasználását, ha megkülönböztetjük a korábbi API-któl, például a Direct3D-től vagy az OpenGL-től, amelyekhez a grafikus programozásban fejlettebb készségekre lenne szükség.

A CUDA-val rendelkező GPU támogatja az olyan programozási keretrendszereket is, mint az OpenMP, OpenACC, OpenCL, valamint a HIP, amely képes az ilyen kódot CUDA-ra fordítani. A CUDA első neve a Compute Unified Device Architecture rövidítése volt. Az Nvidia azonban később elhagyta a közismert rövidítést.

Erős Nvidia grafikus kártya GTX 1080 Ti

További információk a CUDA alkalmazásról

A grafikus feldolgozó egység (GPU) speciális számítógépes processzorként megfelel a valós idejű, számításigényes 3D-s grafikus munkaterhelések igényeinek.

2012 körül a GPU-k fejlődtek, és nagymértékben párhuzamos, többmagos rendszerekké váltak, amelyek lehetővé tették a nagy blokkok hatékony adatfeldolgozását.

Hatalmas adatblokkok párhuzamos feldolgozásakor ez a kialakítás jobb, mint az általános célú központi feldolgozóegységek (CPU-k) az algoritmusok esetében, például:

  • kriptográfiai hash függvények
  • gépi tanulás
  • molekuladinamikai szimulációk
  • fizikai motorok
  • rendezési algoritmusok

A CUDA architektúra felhasználása most és a jövőben

  • 3D grafika gyorsított renderelése
  • Videófájlformátumok gyorsított konverziója
  • Gyorsított titkosítás, visszafejtés és tömörítés
  • Bioinformatika, pl. NGS DNS-szekvenálás BarraCUDA
  • Elosztott számítások, mint például a fehérjék natív konformációjának előrejelzése
  • orvosi elemző szimulációk, például CT- és MRI-felvételeken alapuló virtuális valóság
  • Fizikai szimulációk, különösen a folyadékdinamikában
  • Neurális hálózatok képzése gépi tanulási problémákban
  • Arcfelismerés
  • Elosztott számítástechnikai projektek, mint például a [email protected] és más BOINC-ot használó projektek.
  • Molekuláris dinamika
  • Kriptovaluták bányászata
  • Structure from motion (SfM) szoftver

Mi az a Tensor Core?

A Tensor Cores nevű speciális magok lehetővé teszik a vegyes pontosságú képzést. Ezeknek a speciális magoknak a kezdeti generációja ezt egy fuzionált szorzási-adalékolási algoritmussal teszi. Ez lehetővé teszi két 4 x 4 FP16 mátrix szorzását és összeadását egy 4 x 4 FP16 vagy FP32 mátrixhoz.

A végeredmény FP32 lesz, csak csekély pontosságveszteséggel, a vegyes pontosságú számítást így nevezik, még akkor is, ha a bemeneti mátrixok alacsony pontosságú FP16-osok lehetnek.

A gyakorlatban ez jelentősen felgyorsítja a számításokat, a modell végső hatékonyságát alig befolyásolva. Ezt a kapacitást a későbbi mikroarchitektúrák még kevésbé pontos számítógépes számreprezentációkra is kiterjesztették.

Az első generációt a Volta mikroarchitektúrával vezették be a V100-tól kezdve, minden egyes generációval több számítási pontosságú számítógépes formátum vált elérhetővé a számításokhoz az új GPU-mikroarchitektúrákkal.

A következő részben arról lesz szó, hogy a Tensor Cores kapacitása és funkcionalitása hogyan változott és javult az egyes mikroarchitektúra-generációkkal.

Egy Titan V által készített grafikusan renderelt kép

Hogyan működnek a tenzormagok?

Első generáció:

A Volta GPU mikroarchitektúra a Tensor magok első generációjához tartozott. Ezek a magok lehetővé tették a vegyes pontosságú és FP16 számformátumú képzést.

Ez bizonyos GPU-k esetében akár 12-szeres teraFLOP teljesítménynövekedést is eredményezhet. A csúcskategóriás V100 640 magja akár 5x nagyobb teljesítménysebességet biztosít az előző generációs Pascal GPU-khoz képest.

Második generáció:

A Turing GPU-k bevezetésével a Tensor Core-ok második generációja is megjelent. A korábban FP16-ra korlátozott, támogatott Tensor Core-pontok listája kiegészült az Int8, Int4 és Int1 pontossággal.

A vegyes pontosságú képzési eljárásoknak köszönhetően a GPU teljesítménye akár 32-szeresére nőtt a Pascal GPU-khoz képest.

Harmadik generáció:

Az Ampere GPU architektúrája a Volta és Turing mikroarchitektúrák korábbi fejlesztéseit bővíti az FP64, TF32 és bfloat16 pontosság támogatásával.

A mélytanulási képzési és következtetési tevékenységeket sokkal jobban felgyorsítják ezek az extra pontosságú formátumok. A TF32 formátum például az FP32-hez hasonlóan működik, miközben akár 20-szoros gyorsulást is garantál, anélkül, hogy bármilyen kódot módosítanánk.

Ezután mindössze néhány sornyi kóddal az automatikus vegyes pontosságú végrehajtás további 2x gyorsítja fel a képzést.

Az Ampere mikroarchitektúra további aspektusai a harmadik generációs NVLink, amely lehetővé teszi a villámgyors multi-GPU interakciókat, a harmadik generációs Ray Tracing magok és a ritka mátrixok matematikai specializációja. .

Negyedik generáció:

A Hopper mikroarchitektúrán alapuló negyedik generációs Tensor-magok jövőbeli kiadását tervezik. A negyedik generációs Tensor-magok a következő H100-ban.

Lásd még: Mi a különbség a "Taking" és a "Taken" között? (Az igei formák) - Minden különbség

amely várhatóan 2022 márciusában jelenik meg, képes lesz az FP8-as pontosságú formátumok kezelésére, és az NVIDIA szerint a hatalmas nyelvi modelleket "az előző generációhoz képest elképesztő 30-szorosára gyorsítja".

Az RTX grafikus kártyát a grafika nagyon gyors renderelésére használják, mivel tenzormagokat tartalmaz.

A különbség a CUDA-magok és a Tensor-magok között

A tenzormagok jelenleg a Titan V-re és a Tesla V100-ra korlátozódnak. A két GPU 5120 CUDA-magjának maximális kapacitása GPU-órajelenként egy egyszeres pontosságú szorzási-akkumulációs művelet (például fp32-ben: x += y * z) (pl. a Tesla V100 PCIe frekvenciája 1,38Gz).

Minden egyes tenzormag 4×4 kis mátrixokkal dolgozik kis mátrixok esetén. Egy GPU-órajelenként minden tenzormag egy mátrixszorzási-akkumulációs műveletet tud elvégezni.

Lásd még: Mi a különbség a Sephora és az Ulta között? (Magyarázat) - Minden különbség

Két 4×4 FP16-os mátrixot szoroz meg, és hozzáadja a 4×4-es FP32-es mátrixot, amely az akkumulátorban keletkezik (ez szintén egy fp32-es 4×4-es mátrix).

Mivel a bemeneti mátrixok fp16, míg a szorzási eredmények és az akkumulátor fp32, az algoritmust vegyes pontosságúnak nevezzük.

A helyes kifejezés valószínűleg csak "4×4 mátrix magok" lenne, de az NVIDIA marketingcsapata a "tenzormagok" kifejezést választotta.

Tenzormagok teljes magyarázata dióhéjban

GPU kártya CUDA magok 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 és 896 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 vagy 2 GB

CUDA magokat tartalmazó GPU-k

Következtetés

  • A CUDA és a Tensor magok olyan termékek, amelyeket az Nvidia nevű vállalat fejlesztett ki. A CUDA a Compute Unified Device Architecture rövidítése. Ezek a CUDA magok jelen vannak a GPU-kban, az okostelefonokban, sőt még az autókban is.
  • Míg a tenzormagokat, amelyeket szintén az Nvidia fejlesztett ki, szintén a GPU-kban használják. A "Tensor Cores" nevű speciális magok lehetővé teszik a vegyes pontosságú képzést. A Tensor Cores első generációja lehetővé tette a vegyes pontosságú képzést és az FP16 számformátumot.
  • Ez bizonyos GPU-k esetében akár 12-szeres teraFLOP teljesítménynövekedést is eredményezhet. A támogatott Tensor Core pontosságok listájára felkerült az Int8, Int4 és Int1 is.
  • A vegyes pontosságú képzési eljárásoknak köszönhetően a GPU teljesítménye akár 32-szeresére nőtt. A Hopper mikroarchitektúrán alapuló Tensor Cores negyedik generációjának jövőbeli kiadását tervezik.

Egyéb cikkek

    Mary Davis

    Mary Davis író, tartalomkészítő és lelkes kutató, aki különféle témák összehasonlító elemzésére szakosodott. Újságírói diplomával és több mint öt éves tapasztalattal a területen, Mary szenvedélye, hogy elfogulatlan és egyértelmű információkat közöljön olvasóival. Az írás iránti szeretete fiatalon kezdődött, és sikeres írói karrierjének hajtóereje volt. Mary azon képessége, hogy könnyen érthető és lebilincselő formátumban kutasson és mutasson be eredményeket, szerte a világon megszerette őt olvasóival. Amikor nem ír, Mary szívesen utazik, olvas, és családjával és barátaival tölti az idejét.