Kursplan för Högprestandaprogrammering

High Performance Programming

Det finns en senare version av kursplanen.

Kursplan

  • 10 högskolepoäng
  • Kurskod: 1TD062
  • Utbildningsnivå: Avancerad nivå
  • Huvudområde(n) och successiv fördjupning: Tillämpad beräkningsvetenskap A1N, Datavetenskap A1N, Teknik A1N

    Förklaring av koder

    Koden visar kursens utbildningsnivå och fördjupning i förhållande till andra kurser inom huvudområdet och examensfordringarna för generella examina:

    Grundnivå

    • G1N: har endast gymnasiala förkunskapskrav
    • G1F: har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
    • G1E: innehåller särskilt utformat examensarbete för högskoleexamen
    • G2F: har minst 60 hp kurs/er på grundnivå som förkunskapskrav
    • G2E: har minst 60 hp kurs/er på grundnivå som förkunskapskrav, innehåller examensarbete för kandidatexamen
    • GXX: kursens fördjupning kan inte klassificeras

    Avancerad nivå

    • A1N: har endast kurs/er på grundnivå som förkunskapskrav
    • A1F: har kurs/er på avancerad nivå som förkunskapskrav
    • A1E: innehåller examensarbete för magisterexamen
    • A2E: innehåller examensarbete för masterexamen
    • AXX: kursens fördjupning kan inte klassificeras

  • Betygsskala: Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
  • Inrättad: 2016-03-10
  • Inrättad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Reviderad: 2018-08-30
  • Reviderad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Gäller från: VT 2019
  • Behörighet:

    120 hp inom teknik/naturvetenskap inklusive Beräkningsvetenskap II, en fortsättningskurs i programmering samt 30 hp matematik. Beräkningsvetenskap II får bytas ut mot Numeriska metoder och simulering 5 hp, Beräkningsvetenskap, bryggningskurs, 5 hp eller Beräkningsvetenskap och analys, 10 hp. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)

  • Ansvarig institution: Institutionen för informationsteknologi

Mål

Efter godkänd kurs ska studenten kunna

  • översätta beräkningsalgoritmer till effektiv C-kod för moderna datorarkitekturer;
  • använda verktyg för prestandaoptimering och felsökning;
  • föreslå och implementera effektiva prestandaoptimeringar;
  • identifiera de faktorer som begränsar parallellismen i ett program eller algoritm;
  • skriftligt redovisa prestandaanalys på ett klart och tydligt sätt.

Innehåll

Programmering i C/C++ i Linux/Unix. Parallellprogrammering med OpenMP och Pthreads. Task-baserad programmering. Hjälpmedel och metoder för problemlösning, programutveckling, felsökning och prestandaanalys. Olika typer av datorarkitekturer och minnessystem. Effektiv implementering av numeriska metoder på moderna datorarkitekturer. Tillämpningar hämtade från olika vetenskapsområden.

Undervisning

Föreläsningar, laborationer, inlämningsuppgifter och projektuppgifter.

Examination

Inlämnings- och projektuppgifter som redovisas skriftligt och muntligt.

Övriga föreskrifter

Kursen kan ej räknas i examen tillsammans med någon av kurserna 1DL560 Programmering av effektiva parallella program och 1TD351 Högprestandaberäkningar och programmering, 1TD480 Programmering av parallelldatorer.

Litteratur

Litteraturlista

Gäller från: VT 2019

I bibliotekets söktjänst kan du se om en titel finns elektroniskt.