Kursplan

Inledning

  • Vad är GPU-programmering?
  • För vad använder man CUDA med Python?
  • Klubbtermer: Trådar, Block, Grids

Översikt av CUDA-funktioner och arkitektur

  • GPU-arkitektur vs CPU-arkitektur
  • Förståelse för SIMT (Single Instruction, Multiple Threads)
  • CUDA-programmeringsmodell

Att ställa in utvecklingsmiljön

  • Installera CUDA Toolkit och drivrutiner
  • Installera Python och Numba
  • Ställ in och verifiera miljön

Grundläggande parallell Programming

  • Introduktion till parallella exekveringar
  • Förståelse för trådar och trådhiärarki
  • Arbeta med warps och synkronisering

Att arbeta med Numba-kompilatorn

  • Introduktion till Numba
  • Skriva CUDA-kärnor med Numba
  • Förståelse för @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 grid- och blockdimensioner

MinnesManagement

  • Typer av GPU-minne (globalt, delat, lokalt, konstant)
  • Minnet överföring mellan värd och enhet
  • Optimera minne och undvika kolavverk

Avancerade ämnen inom GPU-acceleration

  • Delt minne och synkronisering
  • Använda strömmar för asynkront körande
  • Grunder i multi-GPU programmering

Att konvertera CPU-baserade program till GPU

  • Profilerings av CPU-kod
  • Identifiering av parallelliserbara sektioner
  • Migrera logik till CUDA-kärnor

Felsökning

  • Felsöka CUDA-program
  • Vanliga fel och hur man löser dem
  • Verktyg och tekniker för testning och validering

Sammanfattning och nästa steg

  • Översikt av viktigaste begreppen
  • Bästa praxis inom GPU-programmering
  • Källor för fortsatt lärande

Krav

  • Python programmeringserfarenhet
  • Erfarenhet av NumPy (ndarrays, ufuncs, etc.)

Publik

  • Utvecklare
 14 timmar

Antal deltagare


Price per participant

Vittnesmål (1)

Upcoming Courses

Relaterade Kategorier