| TDDC78 |
Programmering av parallelldatorer - metoder och verktyg, 4 p
/Programming of Parallel Computers - Methods and Tools/
För:
C
D
IT
Y
|
| |
Prel. schemalagd
tid: 52
Rek. självstudietid: 108
|
| |
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi, Datateknik. Nivå (A-D):D
|
| |
Datavetenskap Datavetenskap, datalogi.
|
| |
Mål:
Att ge kunskap om metoder och språk för programmering av parallella datorarkitekturer, samt färdighet att programmera sådana datorer. Kursen skall även ge inblick i hur parallelldatorer kan användas för några tillämpningsområden, t.ex. bildanalys och tekniska beräkningar.
|
| |
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan) Grundkurser i programmering. Det rekommenderas en kurs i processprogrammering eller liknande (t.ex. TDDB63), eftersom förståelse för processbegreppet förutsätts. Programmeringsövningar erfordrar programmeringskunskaper i C/C++.
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: Kursen ges i två varianter, med största delen gemensam. Inriktningen metoder och verktyg, beteckning TDDC78, beskrivs här, medan inriktningen tekniska beräkningar, med kursbeteckning TANA77, återfinnes bland matematiska institutionens kurser i studiehandboken. Föreläsningarna behandlar teori och principer, medan laborationerna ger praktiska övningar i parallell programmering och användning av lämpliga verktyg. Föreläsningarna är gemensamma för båda inriktningarna medan laborationskursen för TDDC78 och TANA77 skiljer sig.
|
| |
Kursinnehåll: Arkitekturen hos parallelldatorsystem: Minneshierarkier, delat minne samt distribuerade minnesarkitekturer.
Vektoroperationer. Parallella exekveringsmodeller och språk. Prestandamätning och uppsnabbning.
Meddelandesändningsbaserad programmering, multithreading respektive dataparallell programmering. Principer för data-parallella språk. Tidskomplexitet. Skalbarhet. Schemaläggning av parallellprogram. Grid computing. Verktyg för parallellprogrammering. MPI (Message Passing Interface), HPF (High Performance Fortran) och OpenMP. Grundläggande parallella numeriska algoritmer och BLAS (Basic Linear Algebra Subprograms). Tillämpningsområden för parallellprogrammering. Parallell lösning av ekvationssystem.
Laborationskursen ger praktisk kunskap om programmering av parallella datorsystem, olika programmeringsparadigmer används. Flera olika parallelldatorer används i laborationskursen, av vilka några är vid National Supercomputer Center.
|
| |
Kurslitteratur: (1) C. Kessler: Programming of parallel computers - Compendium OHs,
New edition 2005. Bokakademin, ca 95kr. --
(2) L. Elden, H. Park and Y. Saad.
Scientific Computing on High Performance Computers (compendium), new edition 2005. Bokakademin, Kårallen. --
(3) För ytterligare kurslitteratur se kursens hemsida.
|
| |
Examination: |
TEN1 LAB1
|
En skriftlig tentamen (U,3,4,5) En laborationskurs (U,G) |
2 p 2 p
|
| |
|
|
|