Parallell programmering för hög prestanda
Denna kurs behandlar parallella programmeringsmodeller, effektiva programmeringsmetoder och verktyg för prestandaoptimering med målet att utveckla högeffektiva parallella program.
Kursen består av ett antal föreläsningar och laborationer.
Föreläsningarna börjar meden översikt över parallella datorarkitekturer och parallella programmeringsmodeller och paradigmer. En viktig del av diskussionen är mekanismer för synkronisering och datautbyte. Därefter behandlas prestandaanalys av parallella program.
Kursen fortsätter med en diskussion om verktyg och tekniker för att utveckla parallella programenligt modellen för ett delat adressutrymme. Detta avsnitt behandlar populära programmeringsmiljöer som pthreads och OpenMP.
Därefter diskuterar kursen parallella program för distribuerat adressutrymme. Fokus i denna del ligger på Message Passing Interface (MPI). Slutligen diskuterar vi programmeringsmetoder för att exekvera applikationer på acceleratorer såsom GPUer. Den här delen introducerar programmeringsmiljön CUDA (Compute Unified Device Architecture).
Föreläsningarna kompletteras med en uppsättning laborationer där deltagarna praktiskt utforskar de ämnen som införts i föreläsningarna.
Under laborationerna parallelliserar deltagarna exempelprogram över en rad parallella arkitekturer, och använder verktyg för prestandaanalys för att upptäcka och ta bort flaskhalsar i parallella implementeringar av programmen.
Kommande starter
Förkunskaper
Göteborgs universitet möter samhällets utmaningar med mångsidig kunskap. 37 000 studenter och 6 000 medarbetare gör universitetet till en stor och inspirerande arbetsplats, flödande av kunskap och idéer. Öppenheten är ett signum som genomsyrar verksamheten. Universitetet tar plats i debatten...