Un nucleu CUDA este una dintre micile unități matematice din interiorul unui GPU NVIDIA care efectuează sarcinile de bază pentru grafică și calcul paralel. Fiecare nucleu se află într-un bloc mai mare numit Streaming Multiprocessor (SM), iar pe GPU-urile moderne GeForce „Blackwell” fiecare SM conține 128 nuclee CUDA. De aceea veți vedea un număr total de 21.760 nuclee CUDA pe un RTX 5090. Cipul are pur și simplu multe SM-uri, fiecare conținând aceste nuclee.
CUDA (platforma de calcul paralel NVIDIA) este partea software a poveștii: permite aplicațiilor și framework-urilor să trimită în mod eficient către aceste nuclee randări, AI și simulări paralele la scară largă.
Gândiți-vă la un GPU ca la o fabrică concepută pentru lucrări în serie. Nucleele CUDA gestionează lucrările în grupuri de 32 de thread-uri care execută aceeași instrucțiune pe date diferite (un model pe care NVIDIA îl numește SIMT). Astfel, GPU-urile procesează mii de operații simultan. Fiecare SM are programatoare care mențin multe warp-uri în funcțiune pentru a ascunde latența memoriei și a menține nucleele ocupate.
O imagine mentală utilă:
Acestea descarcă sarcini specifice, astfel încât nucleele CUDA să se poată concentra pe umbrire/calcul.
Credit imagine: NVIDIA
De obicei, dar nu singure. Arhitectura contează foarte mult. De exemplu, generația Ampere de la NVIDIA a dublat randamentul FP32 pe SM față de Turing, astfel încât puterea „pe nucleu” s-a schimbat între generații. Ada a extins, de asemenea, cache-urile (în special L2), ceea ce sporește multe sarcini de lucru fără a modifica numărul de nuclee. Pe scurt: compararea numărului de nuclee CUDA între diferite generații nu este comparabilă.
Alți factori importanți:
O regulă generală prietenoasă:
Dacă doriți o verificare rapidă a scalabilității, RTX 5090 listează 21.760 nuclee CUDA, arătând modul în care NVIDIA calculează nucleele per SM pe mai multe SM-uri. Dar, din nou, creșterea performanței provine din designul total, nu doar din numărul de nuclee.
Credit imagine: NVIDIA
Nu aveți nevoie de un cablu special, dar aveți nevoie de pachetul software potrivit. CUDA este platforma NVIDIA; aplicațiile o utilizează prin intermediul driverelor, seturilor de instrumente și bibliotecilor. Multe aplicații și cadre populare sunt deja construite pentru a exploata accelerarea CUDA odată ce driverele NVIDIA și (atunci când este necesar) setul de instrumente CUDA sunt instalate, aplicațiile compatibile pur și simplu... o utilizează.
CUDA rulează pe GPU-urile NVIDIA compatibile cu CUDA din toate liniile de produse (GeForce/RTX pentru jocuri și creație, RTX profesional și GPU-uri pentru centre de date). Ghidul de programare menționează că modelul se adaptează la multe generații de GPU-uri și SKU-uri; NVIDIA menține o listă a GPU-urilor compatibile cu CUDA și a capacităților lor de calcul.
Un nucleu CUDA este același lucru cu un „nucleu shader”?
În limbajul cotidian al GPU-urilor, da, în cazul GPU-urilor NVIDIA, „nucleele CUDA” se referă la ALU-urile FP32/INT32 programabile utilizate pentru umbrire și calcul general în interiorul fiecărui SM.
De ce numărul de nuclee CUDA diferă atât de mult între generații?
Deoarece arhitecturile evoluează. Ampere a modificat căile de date FP32 (mai multă muncă pe ciclu de ceas), iar Ada a revizuit cache-urile, astfel încât performanța să nu crească liniar odată cu numărul de nuclee.
Ce este o urzeală?
Un grup de 32 de thread-uri care se execută în mod sincronizat pe SM. Aplicațiile lansează mii de thread-uri; GPU-ul le programează ca warp-uri pentru a menține hardware-ul ocupat.
Nucleele CUDA ajută la AI?
Da, dar acceleratoarele importante pentru IA modernă sunt nucleele Tensor. Nucleele CUDA continuă să gestioneze o mare parte din activitatea din jurul acestor conducte.