Ano ang Pagkakaiba sa pagitan ng CUDA Cores at Tensor Cores? (Explained) – All The Differences

 Ano ang Pagkakaiba sa pagitan ng CUDA Cores at Tensor Cores? (Explained) – All The Differences

Mary Davis

Ang mga core ng CUDA at Tensor ay mga produktong binuo ng isang kumpanyang tinatawag na Nvidia. Kaya ano ang mga CUDA core at Tensor core? Ang CUDA ay kumakatawan sa Compute Unified Device Architecture. Ang mga CUDA core ay naroroon sa iyong mga GPU, smartphone, at maging sa iyong mga sasakyan, gaya ng sinasabi ng mga developer ng Nvidia.

Ang mga core ng CUDA ay isang parallel computing platform at application programming interface (API) na nagbibigay-daan sa software na gumamit ng mga partikular na uri ng mga graphics processing unit (GPU) para sa pangkalahatang layunin na pagproseso.

Samantalang ang mga tensor core na binuo din ng Nvidia, ay ginagamit din sa mga GPU. Pinapagana ng Tensor Cores ang mixed-precision computing, dynamic na inaangkop ang mga kalkulasyon upang mapataas ang throughput habang pinapanatili ang katumpakan.

Sa madaling salita, ang mga core na ito ay isang mahalagang bahagi ng mga GPU sa iyong pc upang makagawa ng ilang partikular na kalkulasyon. Ang mga CUDA core ay ginagamit upang i-multiply ang dalawang numero at idagdag ang mga ito sa isa pang numero.

Samantalang ang Tensor core ay pareho ngunit may 4×4 matrice. Ang mga kalkulasyong ito ay karaniwang nagre-render ng mga graphics nang mas mabilis para sa iyo.

Ano ang CUDA?

Compute Unified Device Architecture sa maikling CUDA na binuo ng Nvidia, na inilabas noong Hunyo 23, 2007, ay isang parallel computing platform at application programming interface (API).

Na nagbibigay-daan sa software na gumamit ng mga partikular na uri ng mga graphics processing unit (GPU) para sa pagpoproseso ng pangkalahatang layunin, isang paraan na kilala bilang general-purpose computing saMga GPU (GPU).

Ang CUDA ay isang software layer na nagbibigay ng direktang access sa virtual instruction set ng GPU at parallel computational elements para sa execution ng compute kernels. Ang CUDA ay binuo upang gumana sa iba't ibang mga programming language kabilang ang C, C++, at Fortran.

Ang kakayahang magtrabaho sa iba't ibang mga programming language ay nagpapadali para sa mga espesyalista sa parallel programming na gamitin ang mga mapagkukunan ng GPU kung iiba namin ito sa mga naunang API gaya ng Direct3D o OpenGL, na mangangailangan sa iyo na magkaroon ng mas advanced base ng kasanayan sa graphical programming.

Sinusuportahan din ng GPU na may CUDA ang mga programming framework, gaya ng OpenMP, OpenACC, OpenCL, at pati na rin ang HIP na maaaring mag-compile ng naturang code sa CUDA. Ang unang pangalan na ginamit para sa CUDA ay isang acronym para sa Compute Unified Device Architecture. Gayunpaman, kalaunan ay inalis ni Nvidia ang karaniwang ginagamit na acronym.

Isang makapangyarihang Nvidia Graphics card GTX 1080 Ti

Higit Pa Tungkol sa CUDA

Bilang isang dalubhasang computer processor, ang graphics processing unit (GPU) ay nakakatugon sa mga pangangailangan ng tunay -time, compute-intensive 3D graphics workloads.

Tungkol sa 2012 na mga GPU ay umunlad at naging napakaparallel na multi-core system na nagpapagana ng epektibong pagproseso ng data para sa malalaking bloke.

Kapag pinoproseso ang malalaking bloke ng data nang magkatulad, ang disenyong ito ay mas mataas kaysa sa pangkalahatang layunin na mga central processing unit (CPU) para sa mga algorithm, gaya ng:

  • cryptographic hashfunction
  • machine learning
  • molecular dynamics simulation
  • physics engine
  • sort algorithm

Mga Paggamit ng CUDA Architecture Ngayon at sa Hinaharap

  • Pinabilis na pag-render ng 3D graphics
  • Pinabilis na interconversion ng mga format ng video file
  • Pinabilis na pag-encrypt, decryption, at compression
  • Bioinformatics, hal., NGS DNA sequencing BarraCUDA
  • Mga naipamahagi na kalkulasyon, gaya ng paghula sa native conformation ng mga protina
  • Mga simulation ng medikal na pagsusuri, halimbawa, virtual reality batay sa CT at MRI scan na mga larawan
  • Mga pisikal na simulation, lalo na sa fluid dynamics
  • Pagsasanay sa neural network sa mga problema sa machine learning
  • Pagkilala sa mukha
  • Mga proyekto sa distributed computing, gaya ng [email protected] at iba pang proyekto gamit BOINC
  • Molecular dynamics
  • Mining cryptocurrencies
  • Structure from motion (SfM) software

Ano ang Tensor Core?

Ang mga espesyal na core na tinatawag na Tensor Cores ay nagbibigay-daan para sa mixed-precision na pagsasanay. Ginagawa ito ng paunang henerasyon ng mga espesyal na core na ito gamit ang isang pinagsama-samang multiply-add algorithm. Ginagawa nitong posible na mag-multiply at magdagdag ng dalawang 4 x 4 FP16 matrice sa isang 4 x 4 FP16 o FP32 matrix.

Ang pinakahuling resulta ay ang FP32 na may kaunting pagkawala lamang ng katumpakan, ang mixed precision computing ay itinalaga bilang ganoon kahit naang mga input matrice ay maaaring low-precision FP16.

Sa pagsasagawa, ito ay makabuluhang nagpapabilis sa mga kalkulasyon na may kaunting impluwensya sa panghuling bisa ng modelo. Ang kapasidad na ito ay pinalawak ng mga microarchitecture sa ibang pagkakataon sa kahit na hindi gaanong tumpak na mga representasyon ng numero ng computer.

Ang unang henerasyon ay ipinakilala sa Volta microarchitecture simula sa V100, mas maraming format ng katumpakan ng numero ng computer ang ginawang available para sa pag-compute gamit ang mga bagong GPU microarchitecture sa bawat lumilipas na henerasyon.

Pag-uusapan natin kung paano nagbago at napabuti ang kapasidad at functionality ng Tensor Cores sa bawat henerasyon ng microarchitecture sa seksyong kasunod.

Tingnan din: Ano ang Pagkakaiba sa pagitan ng mga Ina & kay nanay? - Lahat ng Mga Pagkakaiba

Isang graphically rendered na imahe na ginawa ng isang Titan V

Paano Gumagana ang Tensor Cores?

Unang Henerasyon:

Ang Volta GPU microarchitecture ay kasama sa unang henerasyon ng Tensor Cores. Ang mga core na ito ay naging posible upang magsanay nang may halo-halong katumpakan at ang FP16 na format ng numero.

Maaaring magkaroon ito ng hanggang 12x na boost sa teraFLOP throughput para sa ilang partikular na GPU. Ang 640 core ng top-tier na V100 ay nagbibigay ng 5x na pagtaas sa bilis ng performance kaysa sa mga Pascal GPU ng nakaraang henerasyon.

Ikalawang Henerasyon:

Sa pagpapakilala ng Turing GPUs, ipinakilala ang ikalawang henerasyon ng Tensor Cores. Ang Int8, Int4, at Int1 ay idinagdag sa listahan ng mga sinusuportahang Tensor Core precision, nadating limitado sa FP16.

Dahil sa magkahalong precision na mga pamamaraan sa pagsasanay, ang performance throughput ng GPU ay tumaas nang hanggang 32 beses kumpara sa mga Pascal GPU.

Ikatlong Henerasyon:

Ang arkitektura sa isang Ampere GPU ay lumalawak sa mga naunang pag-unlad ng Volta at Turing microarchitectures sa pamamagitan ng pagdaragdag ng suporta para sa mga katumpakan ng FP64, TF32, at bfloat16.

Ang pagsasanay sa malalim na pag-aaral at mga aktibidad sa paghuhula ay higit na pinabilis ng mga mas tumpak na format na ito. Halimbawa, ang format na TF32 ay gumagana nang katulad sa FP32 habang ginagarantiyahan din ang hanggang 20x na mga speedup nang hindi binabago ang anumang code.

Pagkatapos, sa ilang linya lang ng code, ang awtomatikong pagpapatupad ng mixed precision ay magpapabilis ng pagsasanay ng karagdagang 2x.

Ang ikatlong henerasyong NVLink upang paganahin ang napakabilis na mga multi-GPU na pakikipag-ugnayan, mga third-generation na Ray Tracing core, at espesyalisasyon sa sparse matrix mathematics ay mga karagdagang aspeto ng Ampere microarchitecture .

Ikaapat na Henerasyon:

Ang isang hinaharap na release ng Hopper microarchitecture-based na ika-apat na henerasyon ng Tensor Cores ay pinlano. Ang ika-apat na henerasyong Tensor Cores sa susunod na H100.

na inaasahang ilalabas sa Marso 2022, ay makakayanan ang mga FP8 precision na format at, ayon sa NVIDIA, ay magpapabilis ng malalaking modelo ng wika “sa pamamagitan ng isang kahanga-hangang 30X sa nakaraang henerasyon.”

Ang isang RTX graphics card ayginagamit para sa pag-render ng mga graphics nang napakabilis dahil naglalaman ito ng mga tensor core.

Ang Pagkakaiba sa Pagitan ng CUDA Cores at Tensor Cores

Ang mga Tensor core ay kasalukuyang limitado sa Titan V at Tesla V100. Ang mga 5120 CUDA core sa parehong GPU ay may maximum na kapasidad ng isang solong precision multiply-accumulate operation (halimbawa, sa fp32: x += y * z) bawat GPU clock (hal. Tesla V100 PCIe frequency ay 1.38Gz).

Ang bawat tensor core ay gumagana sa 4×4 na maliliit na matrice para sa maliliit na matrice. Bawat isang GPU clock, ang bawat tensor core ay maaaring kumpletuhin ang isang matrix multiply-accumulate operation.

Nagpaparami ito ng dalawang 4×4 FP16 matrice at idinaragdag ang 4×4 FP32 matrix na nagreresulta sa accumulator (na isa ring fp32 4×4 matrix).

Dahil ang mga input matrice ay fp16 habang ang mga resulta ng multiplication at accumulator ay fp32, ang algorithm ay kilala bilang mixed precision.

Ang tamang termino ay malamang na "4×4 matrix cores" lang, ngunit pinili ng NVIDIA marketing team na gumamit ng "tensor cores."

Tensor cores ang buong paliwanag sa maikling salita

GPU card CUDA core 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 at896 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 o 2 GB

Mga GPU na naglalaman ng mga CUDA core

Tingnan din: Ang Pagkakaiba sa pagitan ng "Watashi Wa", "Boku Wa" at "Ore Wa" - Lahat ng Mga Pagkakaiba

Konklusyon

  • Ang mga core ng CUDA at Tensor ay mga produkto, na parehong binuo ng isang kumpanyang tinatawag na Nvidia. Ang CUDA ay kumakatawan sa Compute Unified Device Architecture. Ang mga CUDA core na ito ay nasa iyong mga GPU, smartphone, at maging sa iyong mga sasakyan.
  • Samantalang ang mga tensor core, na binuo din ng Nvidia, ay ginagamit din sa mga GPU. Ang mga espesyal na core na tinatawag na "Tensor cores" ay nagbibigay-daan para sa mixed-precision na pagsasanay. Ang unang henerasyon ng Tensor Cores ay naging posible upang magsanay nang may halo-halong katumpakan at ang FP16 na format ng numero.
  • Maaaring magkaroon ito ng hanggang 12x na boost sa teraFLOP throughput para sa ilang partikular na GPU. Ang Int8, Int4, at Int1 ay idinagdag sa listahan ng mga sinusuportahang Tensor Core precision.
  • Dahil sa halo-halongkatumpakan na mga pamamaraan ng pagsasanay, ang pagganap ng GPU ay nadagdagan ng hanggang 32 beses. Ang isang hinaharap na release ng Hopper microarchitecture-based na ika-apat na henerasyon ng Tensor Cores ay pinlano.

Iba Pang Mga Artikulo

    Mary Davis

    Si Mary Davis ay isang manunulat, tagalikha ng nilalaman, at masugid na mananaliksik na dalubhasa sa pagsusuri ng paghahambing sa iba't ibang paksa. Sa isang degree sa journalism at higit sa limang taon ng karanasan sa larangan, si Mary ay may hilig sa paghahatid ng walang pinapanigan at tuwirang impormasyon sa kanyang mga mambabasa. Ang kanyang pagmamahal sa pagsusulat ay nagsimula noong siya ay bata pa at naging isang puwersang nagtutulak sa kanyang matagumpay na karera sa pagsusulat. Ang kakayahan ni Mary na magsaliksik at magpakita ng mga natuklasan sa isang madaling maunawaan at nakakaengganyo na format ay nagpamahal sa kanya ng mga mambabasa sa buong mundo. Kapag hindi siya nagsusulat, nasisiyahan si Mary sa paglalakbay, pagbabasa, at paggugol ng oras kasama ang pamilya at mga kaibigan.