Struttura del corso

Introduzione

  • Cosa è la programmazione GPU?
  • Perché usare CUDA con Python?
  • Concetti chiave: Thread, Blocchi, Griglie

Panoramica delle Funzionalità e dell'Architettura di CUDA

  • Arsitettura GPU vs CPU
  • Comprensione della SIMT (Single Instruction, Multiple Threads)
  • Modello di programmazione CUDA

Configurazione dell'Ambiente di Sviluppo

  • Installazione del Toolkit CUDA e dei driver
  • Installazione di Python e Numba
  • Configurazione e verifica dell'ambiente

Fondamenti della Programmazione Parallela

  • Introduzione all'esecuzione parallela
  • Comprensione dei thread e delle gerarchie di thread
  • Lavorare con i warp e la sincronizzazione

Lavorare con il Compilatore Numba

  • Introduzione a Numba
  • Scrivere kernel CUDA con Numba
  • Comprensione dei decorator @cuda.jit

Come Creare un Kernel CUDA Personalizzato

  • Scrivere e lanciare un kernel di base
  • Utilizzare i thread per operazioni element-wise
  • Gestire le dimensioni della griglia e del blocco

Gestione della Memoria

  • Tipi di memoria GPU (globale, condivisa, locale, costante)
  • Trasferimento di memoria tra host e dispositivo
  • Ottimizzare l'uso della memoria e evitare bottleneck
  • Memoria condivisa e sincronizzazione
  • Utilizzare i flussi per l'esecuzione asincrona
  • Nozioni di base della programmazione multi-GPU

Conversione delle Applicazioni Basate su CPU a GPU

  • Profiling del codice CPU
  • Identificare le sezioni parallelizzabili
  • Trasferire la logica in kernel CUDA

Risoluzione dei Problemi

  • Debug delle applicazioni CUDA
  • Errori comuni e come risolverli
  • Strumenti e tecniche per il testing e la validazione

Riassunto e Passi Successivi

  • Ripasso dei concetti chiave
  • Migliori pratiche in programmazione GPU
  • Risorse per l'apprendimento continuo

Requisiti

  • Esperienza di programmazione in Python
  • Esperienza con NumPy (ndarrays, ufuncs, ecc.)

Pubblico Target

  • Sviluppatori
 14 Ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative