Ce este CUDA?

Platforma NVIDIA care permite programelor să folosească plăcile video pentru calcule generale, inclusiv antrenarea și rularea modelelor AI.

Denumire completă

CUDA – Compute Unified Device Architecture (platforma NVIDIA de calcul pe GPU)

Ce înseamnă CUDA

CUDA este platforma de programare lansată de NVIDIA în 2007 care permite folosirea GPU-urilor nu doar pentru grafică, ci pentru orice calcul care se poate face în paralel. Cuprinde un model de programare, compilatoare, drivere și multe biblioteci optimizate, precum cuDNN pentru rețele neuronale.

Bibliotecile populare de AI, precum PyTorch și TensorFlow, folosesc CUDA în spate. Mulți consideră ecosistemul CUDA, construit în aproape două decenii, unul dintre motivele principale ale poziției dominante a NVIDIA în AI.

Cum funcționează

Programatorul scrie funcții speciale (numite kernel-uri) care sunt executate simultan de mii de fire de execuție pe GPU, fiecare pe o bucată din date. Majoritatea celor care lucrează în AI nu scriu însă direct CUDA: folosesc PyTorch, care apelează automat biblioteci CUDA optimizate.

CUDA funcționează doar pe plăci video NVIDIA. AMD oferă o platformă alternativă, numită ROCm, iar există și standarde deschise care încearcă să ofere portabilitate între producători.

Pe înțelesul tuturor

Dacă GPU-ul este o orchestră cu mii de muzicieni, CUDA este sistemul de notație și dirijorul care le spun tuturor ce să cânte și când. Fără el, orchestra există, dar nu știi cum s-o pui la treabă.

Exemplu

Când instalezi PyTorch pe un calculator cu placă NVIDIA, alegi o versiune „cu CUDA”. O linie precum model.to("cuda") mută modelul pe placa video, iar antrenarea poate deveni de zeci de ori mai rapidă decât pe procesor. Pe un laptop fără placă NVIDIA, aceeași comandă dă eroare, iar codul trebuie să folosească procesorul sau altă platformă.

De reținut

  • CUDA este platforma NVIDIA pentru calcul general pe plăci video.
  • Este folosită în spate de majoritatea bibliotecilor de AI.
  • Funcționează doar pe hardware NVIDIA; alternative: ROCm (AMD) și standarde deschise.

Nu confunda

  • CUDA vs. nuclee CUDA: „CUDA cores” este numele dat de NVIDIA unităților de calcul din GPU-urile sale; CUDA ca platformă este software-ul care le folosește.

Termeni înrudiți

  • GPU (pentru AI): Procesorul plăcii video, cu mii de nuclee care fac calcule în paralel; a devenit motorul principal al antrenării și rulării modelelor AI.
  • NVIDIA (în AI): Compania americană ale cărei plăci grafice (GPU) și platformă CUDA au devenit principalul hardware pentru antrenarea și rularea AI.
  • PyTorch: Bibliotecă open source pentru deep learning, creată la Meta, cea mai folosită în cercetare și la antrenarea modelelor de limbaj.
  • TensorFlow: Bibliotecă open source creată de Google pentru construirea, antrenarea și rularea modelelor de machine learning.
  • Putere de calcul (compute): Cantitatea de calcule pe care o poate face hardware-ul; în AI, una dintre resursele de bază, alături de date și algoritmi.