Schița de curs

Introducere

Înțelegerea fundamentelor metodologiei de calcul eterogen

De ce calcul paralel? Înțelegerea necesității calculului paralel

Procesoare Multi-Core - Arhitectură și proiectare

Introducere în fire de execuție, noțiuni de bază și concepte fundamentale ale programării paralele

Înțelegerea proceselor fundamentale de optimizare a software-ului pentru GPU

OpenMP - Un standard pentru programarea paralelă bazată pe directive

Exerciții practice / Demonstrație a diverselor programe pe mașini multicore

Introducere în calculul pe GPU

GPU-uri pentru calcul paralel

Modelul de programare a GPU-urilor

Exerciții practice / Demonstrație a diverselor programe pe GPU

SDK, toolkit și configurarea mediului pentru GPU

Lucrul cu diverse biblioteci

Demonstrație a GPU-urilor și a uneltelor cu programe de exemplu și OpenACC

Înțelegerea modelului de programare CUDA

Învățarea arhitecturii CUDA

Explorarea și configurarea mediilor de dezvoltare CUDA

Lucrul cu API-ul de runtime CUDA

Înțelegerea modelului de memorie CUDA

Explorarea caracteristicilor suplimentare ale API-ului CUDA

Acces eficient la memoria globală în CUDA: Optimizarea memoriei globale

Optimizarea transferurilor de date în CUDA folosind fluxuri CUDA

Utilizarea memoriei partajate în CUDA

Înțelegerea și utilizarea operațiunilor și instrucțiunilor atomice în CUDA

Studiu de caz: Procesare de bază a imaginilor digitale cu CUDA

Lucrul cu programarea multi-GPU

Profilare avansată a hardware-ului și eșantionare pe NVIDIA / CUDA

Utilizarea API-ului CUDA Dynamic Parallelism pentru lansarea dinamică a kernel-urilor

Rezumat și concluzii

Cerințe

  • Programare în C
  • Linux GCC
 21 Ore

Numărul de participanți


Pret per participant

Mărturii (1)

Cursuri viitoare

Categorii înrudite