| TANA77 |
Programmering av parallelldatorer, tekniska beräkningar, 4 p
/
6 hp
/Programming of Parallel Computers, Scientific Computations/
För:
C
COS
CS
D
IT
MMAT
MT
SOC
Y
|
OBS! |
Överlappar med TDDC78. Endast en av dessa kurser får ingå i examen.
|
| |
Prel. schemalagd
tid: 52
Rek. självstudietid: 108
|
| |
Utbildningsområde: Naturvetenskap
Ämnesgrupp: Matematik Nivå (A-D):D
Huvudområde: Matematik, Tillämpad matematik Nivå (G1,G2,A): A
|
| |
Datavetenskap Matematik, tillämpad matematik
|
| |
Mål:
Paralleldatorer används för att lösa tunga beräkningsproblem. Studenten ska tillägna sig kunskap om programmering av parallelldatorer och behärska ett urval metoder och hjälpmedel. Kursen skall även ge inblick i hur parallelldatorer kan utnyttjas för några tillämpningsområden, speciellt tekniska beräkningar, men också bildanalys. Efter kursen ska studenten kunna
- använda effektiva metoder och språk för programmering av parallella datorarkitekturer
- programmera parallelldatorer med distribuerat minne (MPI) och delat minne (OpenMp)
|
| |
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan) Grundkurser i programmering och numeriska metoder. Fortran rekommenderas.
OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.
|
| |
Organisation: Föreläsningarna behandlar teori och principer, medan laborationerna ger praktiska övningar i parallellprogrammering och användning av lämpliga verktyg. De 30 föreläsningstimmarna är gemensamma för de båda inriktningarna medan laborationskurserna skiljer sig åt.
|
| |
Kursinnehåll: Arkitekturen hos parallelldatorsystem: Minneshierarkier, delat minne samt distribuerade minnesarkitekturer. Vektoroperationer.
Parallella exekveringsmodeller och språk. Prestandamätning och uppsnabbning för parallellprogram. Meddelandesändningsbaserad programmering, multitrådprogrammering, dataparallell programmering. Principer för data-parallella språk. Tidskomplexitet. Skalbarhet. Schemaläggning av parallellprogram.
Stödsystem för parallell program. MPI (Message Passing Interface). HPF (High Performance Fortran) och OpenMP. Grid computing.
Grundläggande parallella algoritmer, samt BLAS (Basic Linear Algebra Subprograms). Distribution av matriser och parallell lösning av linjära ekvationssystem.
Laborationskursen ger praktisk kunskap om programmering av parallella datorsystem (olika programmeringsparadigmer används). Flera olika parallelldatorsystem används i laborationskursen, bl a vid NSC (Nationellt Superdatorcentrum).
|
| |
Kurslitteratur: L. Elde'n, Scientific computing on high performance computers, Lecture Notes, Edition 2006.
C. Kessler, Programming of parallel computers - Compendium OHs, Edition 2005.
|
| |
Examination: |
TEN1 LAB1
|
En skriftlig tentamen (U,3,4,5) En laborationskurs (U,G) |
3 hp 3 hp
|
| |
|
|