TANA77 PROGRAMMERING AV PARALLELLDATORER, TEKNISKA BERÄKNINGAR, 4 poäng
/Programming of Parallel Computers, scientific computations/

För: Y4, D4, C4, M4, matematik åk 3-4

Utbildningsområde: Naturvetenskap    Ämnesgrupp: Matematik
Fördjupningsnivå: D

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 parallelldatorkraft kan utnyttjas för några tillämpningsområden, speciellt tekniska beräkningar, men också (i viss mån) inbyggda system och bildanalys.

Förkunskaper:
Grundkurser i programmering och numeriska metoder. Fortran (TANA79/NMAB05) rekommenderas. För kursvarianten mot inbyggda system rekommenderas en kurs i processprogrammering eller liknande (t ex TDDA21, TDDB12 eller TDDA47), eftersom förståelse av processbegreppet förutsätts.

Organisation:
Kursen ges i två varianter, med största delen gemensam. Inriktningen tekniska beräkningar, beteckning TANA77, beskrivs här, medan inriktningen inbyggda system, med kursbeteckning TDDB78, å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.

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 respektive dataparallell programmering, principer för data-parallella språk. Något om tidskomplexitet. Skalbarhet. Schemaläggning av parallellprogram. Vektorisering och parallellisering av seriella program. Stödsystem för parallell program. MPI (Message Passing Interface). Felsöknings- och prestandamätningsverktyg för parallelldatorer. Grundläggande parallella numeriska algoritmer, samt BLAS (Basic Linear Algebra Subprograms). Distribution av matriser och parallell lösning av linjära ekvationssystem. Tillämpningsområden för parallellprogrammering beroende på val av kursvariant. De två varianterna Inbyggda system (TDDB78) respektive Tekniska beräkningar (TANA77) erbjuds. Laborationskursen ger praktisk kunskap om programmering av parallella datorsystem, både dataparallell, meddelandesändningsbaserad samt delat minne baserad programmering. För dataparallell programmering används NSCs 16384-processors MASPAR maskin, för meddelandebaserad programmering 128-processors Parsytecmaskinen. För delat minne programme ring används superdator vid NSC.

Kurslitteratur:
Ian T. Foster: Designing and Building Parallell Programs, Addison-Wesley, 1995, samt kompendium.

TEN 1En skriftlig tentamen.
LAB 1En laborationskurs.

Engelsk kursplan

Gäller 1997/98, beslut av utbildningsnämnden maj-97