Struttura del corso

Introduzione

  • Cosa è la programmazione GPU?
  • Perché usare CUDA con Python?
  • Concetti chiave: Threads, Blocks, Grids

Panoramica delle Funzionalità e dell'Architettura di CUDA

  • Architettura GPU vs CPU
  • Comprensione di 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
  • Lavoro con warps e sincronizzazione

Lavorare con il Compilatore Numba

  • Introduzione a Numba
  • Scrittura di kernel CUDA con Numba
  • Comprensione dei decoratori @cuda.jit

Come Creare un Kernel CUDA Personalizzato

  • Scrittura e lancio di un kernel base
  • Utilizzo dei thread per operazioni elemento per elemento
  • Gestione delle dimensioni della griglia e del blocco

Gestione della Memoria

  • Tipi di memoria GPU (global, shared, local, constant)
  • Trasferimento di memoria tra host e device
  • Ottimizzazione dell'uso della memoria e evitare bottleneck

Argomenti Avanzati in Accelerazione GPU

  • Memoria condivisa e sincronizzazione
  • Utilizzo dei flussi per l'esecuzione asincrona
  • Nozioni di base sulla programmazione multi-GPU

Conversione delle Applicazioni Basate su CPU in GPU

  • Profiling del codice CPU
  • Identificazione delle sezioni parallelizzabili
  • Porting della logica nei kernel CUDA

Risoluzione dei Problemi

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

Riassunto e Passi Successivi

  • Rivista dei concetti chiave
  • Migliori pratiche nella programmazione GPU
  • Risorse per l'apprendimento continuo

Requisiti

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

Pubblico di Riferimento

  • Sviluppatori
 14 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative