Kursplan

Introduktion

  • Vad är GPU-programmering?
  • Varför använda CUDA med Python?
  • Kärnkoncept: Trådar, Block, Galler

Översikt av CUDA:s funktioner och arkitektur

  • Jämförelse mellan GPU- och CPU-arkitektur
  • Förståelse av SIMT (Single Instruction, Multiple Threads)
  • CUDA-programmeringsmodell

Inställning av utvecklingsmiljön

  • Installation av CUDA Toolkit och drivrutiner
  • Installation av Python och Numba
  • Inställning och verifiering av miljön

Fundamental parallell programmering

  • Inledning till parallellt utförande
  • Förståelse av trådar och trådhierarkier
  • Arbete med warps och synkronisering

Arbete med Numba-kompilatorn

  • Inledning till Numba
  • Skriva CUDA-kärnor med Numba
  • Förståelse av @cuda.jit-dekoratorer

Bygga en anpassad CUDA-kärna

  • Skriva och starta en grundläggande kärna
  • Använda trådar för elementvisa operationer
  • Hantera galler- och blockdimensioner

Minneshantering

  • Typer av GPU-minne (globalt, delat, lokalt, konstant)
  • Minnesöverföring mellan värd och enhet
  • Optimering av minnesanvändning och undvikande av flaskhalsar

Förvärvade ämnen i GPU-acceleration

  • Deltat minne och synkronisering
  • Använda strömmar för asynkront utförande
  • Grunderna i multi-GPU-programmering

Konvertera CPU-baserade applikationer till GPU

  • Profileringsarbete med CPU-kod
  • Identifiering av parallelliserbara sektioner
  • Förande logik till CUDA-kärnor

Felsökning

  • Felsöka CUDA-applikationer
  • Kända fel och hur man löser dem
  • Verktyg och tekniker för testning och validering

Sammanfattning och nästa steg

  • Översikt av kärnkoncepter
  • Bästa praxis inom GPU-programmering
  • Resurser för fortsatt lärande

Krav

  • Erfarenhet av Python-programmering
  • Erfarenhet av NumPy (ndarrays, ufuncs osv.)

Målgrupp

  • Utvecklare
 14 timmar

Antal deltagare


Pris per deltagare

Vittnesmål (1)

Kommande Kurser

Relaterade Kategorier