NVIDIA a lansat CUDA 13.3, o versiune care introduce programarea GPU pe bază de tile-uri direct în C++. Actualizarea urmărește să utilizeze mai eficient Tensor Cores, reducând în același timp complexitatea scrierii kernel-urilor.
Cum funcționează programarea pe bază de tile-uri
Programarea pe bază de tile-uri descompune o operație de calcul în blocuri mici de dimensiune fixă, numite tile-uri. Aceste tile-uri se potrivesc cu modelele interne de flux de date ale GPU-ului, facilitând menținerea hardware-ului ocupat. În versiunile anterioare ale CUDA, dezvoltatorii trebuiau să gestioneze manual această mapare. Acum, compilatorul se ocupă de ea, cel puțin pentru multe modele comune.
Tensor Cores sunt componente hardware specializate din interiorul GPU-urilor NVIDIA care accelerează operațiile de înmulțire-acumulare a matricelor. Acestea sunt esențiale pentru antrenarea și inferența AI. Însă obținerea performanței maxime din ele necesita adesea ajustări manuale complexe. Abstracția pe bază de tile-uri din CUDA 13.3 fragmentează automat operațiile cu matrice pentru a atinge mai frecvent Tensor Cores. Dezvoltatorii scriu cod mai simplu și obțin totuși un randament bun.
Dezvoltarea kernel-urilor devine mai simplă
Unul dintre cele mai mari obstacole în programarea GPU este gestionarea firelor de execuție, a memoriei partajate și a sincronizării. Noul model pe bază de tile-uri abstrage aceste detalii. În loc să scrieți un kernel care creează mii de fire și coordonează accesul lor la memoria partajată, un programator poate exprima calculul ca operații pe tile-uri. Compilatorul CUDA mapează apoi aceste tile-uri pe hardware-ul subiacent. Acest lucru ar trebui să reducă erorile și să accelereze dezvoltarea, în special pentru echipele noi în domeniul calculului GPU.
Disponibilitate
CUDA 13.3 este disponibil acum pentru descărcare de pe site-ul de dezvoltatori NVIDIA. Suportă toate arhitecturile GPU NVIDIA actuale, inclusiv liniile Hopper și Blackwell. Dezvoltatorii pot începe imediat să experimenteze cu API-ul pe bază de tile-uri.
Actualizarea nu elimină abordările mai vechi, dar stabilește o nouă cale implicită pentru scrierea de cod GPU eficient. Dacă comunitatea largă o va adopta rapid depinde de cât de bine mapează compilatorul operațiile pe tile-uri pe hardware-ul real – și dacă performanța se potrivește cu cea a kernel-urilor reglate manual în sarcinile critice.


