Struttura del corso
Introduzione
Comprendere i fondamenti della metodologia di calcolo eterogeneo
Perché il calcolo parallelo? Comprendere la necessità del calcolo parallelo
Processori multi-core - Architettura e design
Introduzione alle filettature, nozioni di base sulle filettature e concetti di base delle filettature parallele Programming
Comprendere i fondamenti di GPU processi di ottimizzazione del software
OpenMP - Uno standard per il parallelo basato su direttive Programming
Hands-on / Dimostrazione di vari programmi su macchine multicore
Introduzione a GPU Computing
GPUs per il calcolo parallelo
Modello di GPU Programming
Hands-on / Dimostrazione di vari programmi su GPU
SDK, toolkit e installazione dell'ambiente per GPU
Utilizzo di varie librerie
Dimostrazione di GPU e strumenti con programmi di esempio e OpenACC
Comprendere il modello CUDA Programming
Apprendimento dell'architettura CUDA
Esplorazione e configurazione degli ambienti di sviluppo CUDA
Utilizzo dell'API di runtime CUDA
Informazioni sul modello di memoria CUDA
Esplorazione di funzionalità aggiuntive dell'API CUDA
AccessUtilizzo efficiente della memoria globale in CUDA: ottimizzazione della memoria globale
Ottimizzazione dei trasferimenti di dati in CUDA utilizzando CUDA Streams
Utilizzo della memoria condivisa in CUDA
Comprensione e utilizzo delle operazioni e delle istruzioni atomiche in CUDA
Caso di studio: Elaborazione digitale delle immagini di base con CUDA
Utilizzo di Multi-GPU Programming
Profilazione e campionamento hardware avanzato su NVIDIA / CUDA
Utilizzo dell'API di parallelismo dinamico CUDA per l'avvio dinamico del kernel
Riassunto e conclusione
Requisiti
- C Programming
- Linux GCC
Recensioni (1)
Allenatori, energia e umorismo.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Corso - NVIDIA GPU Programming - Extended
Traduzione automatica