DN2264 Parallella beräkningar för storskaliga problem, del 1 6,0 hp

Parallel Computations for Large-Scale Problems, Part 1

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.

Kursomgång och genomförande

Kursomgångar saknas för tidigare och kommande terminer, samt för innevarande termin.

Kursinformation

Innehåll och lärandemål

Kursinnehåll *

Grundläggande idéer: hårdvaruarkitektur, minneshierarkier, kommunikation, strategier för parallellisering, mätande av effektivitet;

Enkla numeriska algoritmer, bl. a. matrisoperationer, Gausseliminering;

Algoritmer på grafer, exempelvis grafpartitioneringsproblem;

Parallell sortering;

Mer avancerade parallella problem, exempelvis n-kroppsproblemet;

Avancerade numeriska metoder, exempelvis multigrid och FFT-metoder;

Standardbibliotek.

Lärandemål *

Det övergripande målet med kursen består i att förmedla en 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.

Efter genomförd kurs ska du ha lärt dig att:

  • förklara strategier för parallellisering
  • välja ut och/eller utveckla en algoritm för att lösa ett givet problem som är anpassad till parallelliseringen
  • välja ut och/eller utveckla datatstrukturer för att implementera parallella algoritmer
  • teoretiskt analysera en given parallell algoritm med hänsyn till effektiviteten
  • implementera en given algoritm på en dator med fördelat minne genom att använda MPI-biblioteket
  • förstå flödet av informationen och undvika oönskade lägen (t ex deadlock, synkroniseringsfördröjning)
  • modifiera och anpassa grundläggande rutiner till speciella situationer
  • experimentellt uppskatta prestandan av parallella program
  • förklara skillnader mellan den teoretiskt förväntade prestandan och den praktiskt uppmätta prestandan.

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet *

För fristående kursstuderande krävs 90 högskolepoäng varav 45 högskolepoäng inom matematik eller informationsteknik. Dessutom krävs engelska B eller motsvarande.

Rekommenderade förkunskaper

En grundläggande kurs i numerisk analys (DN1212, DN1240 eller motsvarande), datalogi (DD1320, DD1321 eller motsvarande), gärna erfarenheter av C, C++, Fortran. De som kan Java eller Python får 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, säljs på studentexpeditionen. Michael Hanke: Lecture Notes, säljs på studentexpeditionen.

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 *

  • HEM1 - Hemuppgift, 3,0 hp, betygsskala: P, F
  • LAB1 - Laborationer, 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.

I denna kurs tillämpas skolans hederskodex, se: http://www.kth.se/csc/student/hederskodex.

Övriga krav för slutbetyg *

Hemuppgifter och en ”mid-term quiz” (HEM1, 3 hp)
Laborationsrapport (LAB1, 3 hp)

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

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 DN2264

Ges av

SCI/Matematik

Huvudområde *

Ingen information tillagd

Utbildningsnivå *

Avancerad nivå

Påbyggnad

DN2265 Parallella datorberäkningar för storskaliga problem, del 2.

Kontaktperson

Michael Hanke, e-post: hanke@kth.se

Övrig information

Observera att det är obligatorisk närvaro vid första föreläsningen!