Hoppa till huvudinnehållet
Inför kursvalSF2568 Parallella beräkningar för storskaliga problem 7,5 hpAdministrera Om kursen

Avancerad kurs som förmedlar grundläggande förståelse av hur man utvecklar numeriska algoritmer och hur man implementerar dessa på datorer med fördelat minne genom att använda "message-passing" metoder.

Välj termin och kursomgång

Välj termin och kursomgång för att se information från rätt kursplan och kursomgång.

* Informationen tillhör Kursplan SF2568 (HT 2020–)

Innehåll och lärandemål

Kursinnehåll

  • Grundläggande idéer om hårdvaruarkitektur, minneshierarkier, kommunikation, parallelliseringsstrategier, effektivitetsmått;
  • högprestandaberäkningar och Green Computing;
  • introduktion till MPI ”Message Passing Interface”;
  • enkla numeriska algoritmer för matrisoperationer och Gausseliminering;
  • algoritmer på grafer, t ex grafpartitioneringsproblemet;
  • parallel sortering;
  • mer avancerade parallella algoritmer;
  • standarbibliotek.

Lärandemål

Kursens mål är att ge en grundläggande förståelse av hur algoritmer för parallella beräkningar utvecklas och hur dessa kan implementeras på datorer med fördelat minne genom att använda standardiserade metoder.

Efter slutförd kurs ska studenten:

  • kunna välja ut och/eller utveckla algoritmer och datastrukturer för att lösa ett givet problem efter att ha analyserat och identifierat egenskaper hos problemet som med fördel kan utnyttjas för parallelliseringen;
  • teoretiskt analysera en given parallell algoritm med hänsyn till effektivitet och sedan experimentellt utvärdera prestanda av ett parallelldatorprogram genom att köra på en högprestandadator;
  • implementera en given algoritm på en dator med fördelat minne med hjälp av biblioteket MPI;
  • självständigt lösa ett mer komplext problem och presentera resultaten både muntligt och skriftligt på ett vetenskapligt sätt;
  • identifiera utmaningar av Green Computing vid högprestandaberäkningar.

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet

  • Slutförd grundkurs i numerisk analys (SF1544, SF1545 eller motsvarande) och
  • Slutförd grundkurs i datalogi (DD1320 eller motsvarande).

Rekommenderade förkunskaper

Grundläggande programmeringskunskaper, helst i C, C++, Fortran. För studenter som kan Java eller
Python ges en kort introduktion till C.

Utrustning

Ingen information tillagd

Kurslitteratur

Barry Wilkinson, Michael Allen: Parallel Programming, 2nd ed., Pearson Education International 2005, ISBN 0-13-191865-6.
Peter S. Pacheco: A Users Guide to MPI, downloadable from internet.
Michael Hanke: Lecture Notes.

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • HEMA - Hemuppgift, 4,5 hp, betygsskala: A, B, C, D, E, FX, F
  • PROA - Projekt, 3,0 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Profile picture Michael Hanke

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kurswebb

Ytterligare information om kursen kan hittas på kurswebben via länken nedan. Information på kurswebben kommer framöver flyttas till denna sida.

Kurswebb SF2568

Ges av

SCI/Matematik

Huvudområde

Matematik, Teknik

Utbildningsnivå

Avancerad nivå

Påbyggnad

Please discuss with the course leader.

Kontaktperson

Michael Hanke, hanke@kth.se