Struttura del corso

Introduzione

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

Panoramica delle Caratteristiche e dell'Architettura di CUDA

  • GPU vs architettura CPU
  • Comprensione del 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 delle Esecuzioni Parallele Programming

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

Lavorando con il Compilatore Numba

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

Come Costruire un Kernel CUDA Personalizzato

  • Scrivere e lanciare un kernel base
  • L'uso dei thread per le operazioni element-wise
  • Gestire le dimensioni della griglia e del blocco

Memoria Management

  • Tipi di memoria GPU (globale, condivisa, locale, costante)
  • Trasferimento di memoria tra host e dispositivo
  • Ottimizzazione dell'uso della memoria ed evitare i collettori di bolle

Temi Avanzati sull'Accelerazione GPU

  • Memoria condivisa e sincronizzazione
  • L'uso delle stream per l'esecuzione asincrona
  • Fondamenti della programmazione multi-GPU

Conversione di Applicazioni basate su CPU a GPU

  • Profilatura del codice CPU
  • Identificare le sezioni parallele
  • Migrare la logica verso kernel CUDA

Risoluzione dei Problemi

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

Riepilogo e Passaggi Successivi

  • Rassegna dei concetti chiave
  • Best practice nella programmazione GPU
  • Risorse per un'apprendimento continuo

Requisiti

  • esperienza di programmazione
  • Esperienza con NumPy (ndarray, ufunc, ecc.)

Pubblico

  • Sviluppatori
 14 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative