SF2568 Parallella beräkningar för storskaliga problem 7,5 hp

Parallel Computations for Large- Scale Problems

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.

Visa kursinformation utifrån vald termin och kursomgång:

Kursomgång och genomförande

Ingen kursomgång är vald

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

Kursinformation

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

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

Michael Hanke

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

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.