| TANA77 |
Programmering av parallelldatorer, tekniska beräkningar, 4 p
/Programming of Parallel Computers, scientific computations/
För:
C
D
IT
M
Mat
Y
|
| |
Utbildningsområde: Naturvetenskap
Ämnesgrupp: Matematik Nivå (A-D):D
|
| |
Datavetenskap Matematik, tillämpad matematik
|
| |
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 utnyttjas för några tillämpningsområden, speciellt tekniska beräkningar, men också bildanalys.
|
| |
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan) Grundkurser i programmering och numeriska metoder. Fortran (TANA 70 eller NMAB 15) 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: Kursen ges i två varianter, med största delen gemensam. Inriktningen tekniska beräkningar, beteckning TANA 77, beskrivs här, medan inriktningen metoder och verktyg, med kursbeteckning TDDB 78, återfinnes bland datavetenskapliga institutionens kurser i studiehandboken.
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.
Vektorisering och parallellisering av seriella program. Stödsystem för parallell program. MPI (Message Passing Interface). HPF (High Performance Fortran) och OpenMP. 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: Ian T. Foster: Designing and Building Parallell Programs, Addison-Wesley, 1995, samt kompendium.
|
| |
Examination: |
TEN1 LAB1
|
En skriftlig tentamen En laborationskurs |
2 p 2 p
|
| |
|
|
|