studiehandbok@lith   Länk till universitetets hemsida
 

Tekniska högskolan vid Linköpings universitet

Länk till universitetets hemsida
 
År : 2013
 
TDDC78 Programmering av parallelldatorer - metoder och verktyg, 4 p / 6 hp
/Programming of Parallel Computers - Methods and Tools/

För:   ACG   COS   CS   D   DAV   IT   MMAT   MT   SOC   Y  


OBS!

Överlappar med TANA77. Endast en av dessa kurser får ingå i examen.


 

Prel. schemalagd tid: 52
Rek. självstudietid: 108

  Utbildningsområde: Teknik

Ämnesgrupp: Datalogi, Datateknik   Nivå (A-D):D

Huvudområde: Datavetenskap, Datateknik   Nivå (G1,G2,A): A

  Datavetenskap Datavetenskap, datalogi.

  Mål:  IUAE-matris
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, såsom bildanalys och tekniska beräkningar. 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. Det rekommenderas en kurs i processprogrammering eller liknande, 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.

  Påbyggnadskurser
Multicore- och GPU-Programmering.

  Organisation:
Föreläsningarna behandlar teori och principer, medan laborationerna ger praktiska övningar i parallell programmering och användning av lämpliga verktyg. Laborationskursen använder superdatorressurser vid National Supercomputer Center.

  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.


  Kurslitteratur:
C. Kessler: Programming of parallel computers - Compendium OHs, finns tillgänglig för registrerade kursdeltagare på kurshemsidan.
L. Elden, H. Park and Y. Saad. Scientific Computing on High Performance Computers (compendium), finns tillgänglig för registrerade kursdeltagare på kurshemsidan.
Labb-kompendium, finns på kurshemsidan.
För ytterligare kurslitteratur se kursens hemsida.


  Examination:
TEN1 LAB1
En skriftlig tentamen (U,3,4,5)
En laborationskurs (U,G)
3 hp
3 hp
 
Uppgifterna på tentamen testar hur väl studenten uppfyller kursens mål. För godkänt betyg kan brister i uppfyllande av vissa delar av målen i någon mån kompenseras med ett djupare kunnande inom andra delar.



Undervisningsspråk är Engelska.
Institution: IDA.
Studierektor: Tommy Färnqvist
Examinator: Christoph W. Kessler
Länk till kurshemsida på kursgivande institution
Ansvarig programnämnd: Data&Medie




Tekniska högskolan vid Linköpings universitet

Länk till sidans topp


Informationsansvarig: TFK , val@tfk.liu.se
Senast ändrad: 11/16/2011

Sidan slutar här