- 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.
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.
Information per 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.
Kursplan som PDF
Notera: all information från kursplanen visas i tillgängligt format på denna sida.
Kursplan SF2568 (VT 2022–)Innehåll och lärandemål
Kursinnehåll
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
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
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
Möjlighet till plussning
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
Ges av
Huvudområde
Utbildningsnivå
Påbyggnad
Please discuss with the course leader.