Lezione 1
[ 7 mar 2024 ] Introduzione al corso, introduzione al concetto GP-GPU, uso delle GPU in contesti HPC, parallelismo dei dati e dei task, sistemi paralleli e tassonomia di Flynn, il modello SIMT, la piattaforma CUDA.
[ 7 mar 2024 ] Introduzione al corso, introduzione al concetto GP-GPU, uso delle GPU in contesti HPC, parallelismo dei dati e dei task, sistemi paralleli e tassonomia di Flynn, il modello SIMT, la piattaforma CUDA.
[ 7 mar 2024 ] Allocazione dinamica in C, prodotto di matrici diagonali a blocchi. HelloWorldGPU: primo programma CUDA, somma di vettori in CUDA.
Esercitazione: Lab1 (github)
[ 14 mar 2024 ] programmazione multithreading, sistemi di calcolo paralleli, processi e thread, pthread in unix, modello di programmazione parallela CUDA, organizzazione gerarchica dei thread, esecuzioni di kernel, uso basilare della memoria
[ 14 mar 2024 ] gerarchia di thread in CUDA, grid, block e thread ID, somma di vettori 1D e matrici 2D, flipping di immagini con pthread e CUDA
Esercitazione: Lab2 (github)
[ 21 mar 2024 ] modello di esecuzione CUDA, streaming multiprocessor, warp e loro gestione, divergenza nei warp, sincronizzazione di thread, parallel reduction, operazioni atomiche
[ 21 mar 2024 ] divergenza, parallel reduction, istogramma di un'immagine e operazioni atomiche, prodotto MQDB parallelo
Esercitazione: Lab3 (github)
[ 4 apr 2024 ] Il modello di memoria CUDA, tipi di memoria: registri, shared memory, local memory, constant memory, texture memory e global memory, la shared memory: uso e patter di accesso, allocazione statica e dinamica di shared memory
[ 4 apr 2024 ] esercitazione su parallel reduction, prodotto di matrici e di convoluzione
Esercitazione: Lab4 (github)
[ 11 apr 2024 ] unrolling, HW overview CPU/GPU, elementi base dell’architettura GPU, le famiglie di GPU e l’evoluzione delle (micro)architetture, prestazioni legate alle risorse architetturali, profiling, unrolling, parallelismo dinamico
[ 11 apr 2024 ] esercitazione su unrolling e parallelismo dinamico
Esercitazione: Lab5 (github)
[ 18 apr 2024 ] La global memory, pinned & unified memory, Memory bandwidth, coalescenza e pattern di accesso alla global memory
[ 18 apr 2024 ] esercitazione su uso della memoria, strutture e matrice trasposta
Esercitazione: Lab6 (github)