Schița de curs

Introducere

  • Ce este programarea GPU?
  • De ce folosiți CUDA cu Python?
  • Concepte cheie: Fire, Blocuri, Grile

Panorama Caracteristicilor și Arhitecturii CUDA

  • Arhitectura GPU vs CPU
  • Înțelegerea SIMT (Single Instruction, Multiple Threads)
  • Model de programare CUDA

Setarea Mediului de Dezvoltare

  • Instalarea Toolkit-ului CUDA și driverelor
  • Instalarea Python și Numba
  • Configurarea și verificarea mediului

Fundamentele Programării Paralele

  • Introducere în execuția paralelă
  • Înțelegerea firelor și ierarhiei lor
  • Lucrul cu warps și sincronizarea

Lucrul cu Compilerul Numba

  • Introducere în Numba
  • Scrierea nucleurilor CUDA folosind Numba
  • Înțelegerea decoratorilor @cuda.jit

Construirea unui Nucleu CUDA Personalizat

  • Scrierea și lanșarea unui nucleu de bază
  • Folosirea firelor pentru operațiuni element-by-element
  • Gestionarea dimensiunilor grilei și blocului

Managementul Memoriei

  • Tipuri de memorie GPU (global, shared, local, constant)
  • Transferul de memorie între gazdă și dispozitiv
  • Optimizarea utilizării memoriei și evitarea strâmturilor de gât

Teme Avansate în Accelerarea GPU

  • Memoria shared și sincronizarea
  • Folosirea fluxurilor pentru execuția asincronă
  • Noțiuni de bază în programarea multi-GPU

Convertirea Aplicațiilor Bazăte pe CPU la GPU

  • Profilarea codului CPU
  • Identificarea secțiunilor paralelizabile
  • Portarea logicii în nucleurii CUDA

Debogare

  • Depanarea aplicațiilor CUDA
  • Erorile comune și modul de rezolvare
  • Unelte și tehnici de testare și validare

Synopsis și Următoarele Pași

  • Revizuirea conceptelor cheie
  • Cele mai bune practici în programarea GPU
  • Resurse pentru continuarea învățării

Cerințe

  • Experiență în programare Python
  • Experiență cu NumPy (ndarrays, ufuncs, etc.)

Audiență

  • Dezvoltatori
 14 ore

Numărul de participanți


Pret per participant

Mărturii (1)

Cursuri viitoare

Categorii înrudite