Hoppa till huvudinnehållet

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

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 aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Kursval

Gäller för kursomgång

VT 2024 Start 2024-01-16 programstuderande

Anmälningskod

60312

Rubriker med innehåll från kursplan SF2568 (VT 2022–) är markerade med en asterisk ( )

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.

Kurslitteratur och förberedelser

Särskild behörighet

  • Engelska B / Engelska 6
  • 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 handläggare av stöd till studenter med 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

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

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Matematik, Teknik

Utbildningsnivå

Avancerad nivå

Påbyggnad

Please discuss with the course leader.

Kontaktperson

Niclas Jansson, njansson@kth.se