Schița de curs

Introducere

  • Ce este programarea GPU?
  • Pentru ce folosim CUDA cu Python?
  • Noțiuni cheie: firuri, blocuri, grile

Prezentare generală a caracteristicilor și arhitecturii CUDA

  • GPU vs arhitectura CPU
  • Comprehesive SIMT (Single Instruction, Multiple Threads)
  • Modelul de programare CUDA

Configurarea mediului de dezvoltare

  • Instalarea pachetului CUDA Toolkit și a driver-ilor
  • Instalarea Python și Numba
  • Configurarea și verificarea mediu

Fundează Parallel Programming

  • Introducere în execuția paralelă
  • Comprehesive firuri și ierarhii de firuri
  • Munca cu warps și sincronizare

Muncă cu compilatorul Numba

  • Introducere în Numba
  • Scrierea nucleelor CUDA cu Numba
  • Comprehesive decoratoarele @cuda.jit

Construirea unui Kernel CUDA Personalizat

  • Scrierea și lansearea unui kernel de bază
  • Folosirea firurilor pentru operații elementare
  • Gestionarea dimensiunilor grilei și a blocului

Memorie Management

  • Tipuri de memorie GPU (globală, comună, locală, constantă)
  • Transferul de memorie între gazdă și dispozitiv
  • Optimizarea utilizării de memorie și evitarea gheara

Subiecte avansate în Accelerare GPU

  • Memorie comună și sincronizare
  • Folosirea fluilor pentru execuția asincronă
  • Bazele programării multi-GPU

Convertirea aplicațiilor bazate pe CPU la GPU

  • Profilarea codului CPU
  • Identificarea secțiunilor paralelizabile
  • Pornirea logică la nuclee CUDA

Răspândire de erori

  • Depanarea aplicațiilor CUDA
  • Erori comune și cum să le rezolvați
  • Instrumente și tehnici pentru testare și validare

Rezumat și următoarele pași

  • Preluarea noțiunilor cheie
  • Cele mai bune practici în programarea GPU
  • Surse pentru continuarea învățării

Cerințe

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

Audiență

  • Dezvoltatori
 14 ore

Numărul de participanți


Pret per participant

Mărturii (1)

Upcoming Courses

Categorii înrudite