Cursusaanbod

Inleiding

  • Wat is GPU-programmering?
  • Waarom CUDA met Python gebruiken?
  • Kernconcepten: Threads, Blocks, Grids

Overzicht van CUDA-functies en -architectuur

  • GPU vs CPU-architectuur
  • SIMT (Single Instruction, Multiple Threads) begrijpen
  • CUDA-programmeermodel

Ondersteunende ontwikkelomgeving instellen

  • NVIDIA CUDA Toolkit en drivers installeren
  • Python en Numba installeren
  • Omgeving instellen en controleren

Fundamenten van parallel programmeren

  • Inleiding tot parallel uitvoeren
  • Threads en thread-hiërarchieën begrijpen
  • Werken met warps en synchronisatie

Werken met de Numba-compiler

  • Inleiding tot Numba
  • CUDA-kernels schrijven met Numba
  • @cuda.jit-decorators begrijpen

Een aangepaste CUDA-kernel bouwen

  • Een basis-kernel schrijven en uitvoeren
  • Threads gebruiken voor elementgewijze bewerkingen
  • Grid- en block-dimensies beheren

Geheibenbeheer

  • Type GPU-geheugen (global, shared, local, constant)
  • Geheimentransfers tussen host en device
  • Geheiengebruik optimaliseren en flessenhalzen voorkomen

Geavanceerde onderwerpen in GPU-versnelling

  • Gedeeld geheugen en synchronisatie
  • Streams gebruiken voor asynchrone uitvoering
  • Basisprincipes van multi-GPU-programmeren

CPU-gebaseerde toepassingen omzetten naar GPU

  • CPU-code profileren
  • Paralleliseerbare secties identificeren
  • Logica overbrengen naar CUDA-kernels

Foutopsporing

  • CUDA-toepassingen debuggen
  • Vaak voorkomende fouten en hoe je ze kunt oplossen
  • Hulpmiddelen en technieken voor testen en validatie

Samenvatting en volgende stappen

  • Overzicht van kernconcepten
  • Beste praktijken in GPU-programmering
  • Bronnen voor verdere studie

Vereisten

  • Ervaring in Python-programmeren
  • Ervaring met NumPy (ndarrays, ufuncs, etc.)

  • Ontwikkelaars
 14 Uren

Aantal deelnemers


Prijs Per Deelnemer

Getuigenissen (1)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën