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.
Versioner av kursplanen
- Senaste kursplan (giltig från HT 2023)
- Äldre kursplan (giltig från VT 2023)
- Äldre kursplan (giltig från VT 2019)
- Äldre kursplan (giltig från HT 2016)
Litteratur
Litteraturlista
Gäller från: VT 2019
I bibliotekets söktjänst kan du se om en titel finns elektroniskt.
-
Pacheco, Peter.
An Introduction to Parallel Programming.
Burlington: Elsevier Science, 2011.
-
Fog, Agner
Optimizing software in C++: An optimization guide for Windows, Linux and Mac platforms
Technical University of Denmark,