Cursusaanbod

Inleiding

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

Overzicht van CUDA-functies en -architectuur

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

De ontwikkelomgeving instellen

  • CUDA Toolkit en drivers installeren
  • Python en Numba installeren
  • Omwille van het instellen en controleren van de omgeving

Basisprincipes van parallel Programming

  • Inleiding tot parallele uitvoering
  • Begrijpen van threads en thread-hiërarchieën
  • Werken met warps en synchronisatie

Werken met de Numba Compiler

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

Een aangepaste CUDA-kernel bouwen

  • Een basiskernel schrijven en starten
  • Threads gebruiken voor elementaire bewerkingen
  • Ridder- en blokdimensies beheren

Geheugen Management

  • Types van GPU geheugen (globaal, gedeeld, locaal, constant)
  • Geheenoverdracht tussen host en device
  • Optimaliseren van geheengebruik en het voorkomen van flessenhalsfenomenen

Gevanceerde onderwerpen in GPU versnelling

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

CPU-gebaseerde toepassingen omzetten naar GPU

  • Profileren van CPU-code
  • Gedeeltes identificeren die te paralleliseren zijn
  • Bijbrengen van logica naar CUDA-kernels

Foutopsporing

  • CUDA-toepassingen debuggen
  • Algehele fouten en hoe deze op te lossen
  • Gereedschap en technieken voor testen en validatie

Samenvatting en Volgende Stappen

  • Samenvatting van kernconcepten
  • Best practices in GPU programmeren
  • Bronnen voor verdere leerzaamheid

Vereisten

  • Python programmeerervaring
  • Ervaring met NumPy (ndarrays, ufuncs, etc.)

Publiek

  • Ontwikkelaars
 14 Uren

Aantal deelnemers


Prijs Per Deelnemer

Testimonials (1)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën