DD2356 Metoder inom högprestandaberäkningar 7,5 hp

Methods in High Performance Computing

  • Utbildningsnivå

    Avancerad nivå
  • Huvudområde

    Datalogi och datateknik
  • Betygsskala

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

Kurstillfällen/kursomgångar

VT19 methpc19 för programstuderande

VT20 methpc20 för programstuderande

Lärandemål

Det övergripande syftet med kursen är att ge grundläggande kunskap om teori samt hårdvaru- och mjukvarumetoder för parallella beräkningar, speciellt frågeställningar inom hårdvara och mjukvara samt interaktionen mellan dem. Speciellt fokus kommer att läggas på programmering av flerkärniga processorer och klusterarkitekturer. Även forskningsfrågor inom detta område kommer att tas upp.

Efter godkänd kurs ska studenten kunna:

  • redogöra för egenskaper hos olika parallella arkitekturer,
  • resonera om effektiviteten hos flerkärniga datorer och kluster-system,
  • bedöma potentialen för och begränsningar av parallella beräkningar samt förbättra skalbarhet och effektivitet av parallella beräkningar,
  • välja mellan olika parallelliseringstekniker beroende på tillämpning och det aktuella parallella systemet,
  • skriva parallella program för flerkärniga processorer och klustersystem med OpenMP och MPI.

Kursens huvudsakliga innehåll

Kursen fokuserar på tre områden:

  • Parallelldatorarkitektur och parallell mjukvara. Presentation av beräknings- och minnessystem av parallella datorer. Dessutom beskrivs olika slags parallellitet (på instruktionsnivån, på nivån av beräkningsuppgifter samt dataparallellitet) såväl som prestandamodeller för parallella system.
  • Programmering av flerkärniga system med OpenMP. Presentation av grundläggande såväl som mer avancerade koncept inom OpenMP.
  • Programmering av klustersystem med MPI. Presentation av MPI och metoder för parallellisering av datorprogram.

Hårdvara och mjukvara av olika plattformar på CSC och PDC kommer att introduceras vid första laborationen.

Behörighet

Erfarenhet av programmering  i C/C++ och/eller Fortran är nödvändigt.

Litteratur

Kurslitteraturen kommer att annonseras på kusens hemsida minst 4 veckor före kursstart.

Examination

  • LAB1 - Laborationsuppgifter, 4,5, betygsskala: P, F
  • LAB2 - Projektuppgift, 3,0, betygsskala: A, B, C, D, E, FX, F

Ges av

EECS/Datavetenskap

Kontaktperson

Stefano Markidis <markidis@kth.se>

Examinator

Erwin Laure <erwinl@kth.se>

Övrig information

Required Reading

Patterson DA, Hennessy JL. Computer organization and design: the hardware / software interface. 5th ed. Oxford: Morgan Kaufmann; 2013 [2014].

Versionsinformation

Kursplan gäller från och med VT2019.
Examinationsinformation gäller från och med VT2019.