Högprestandaprogrammering
Kursplan, Avancerad nivå, 1TD062
- Kod
- 1TD062
- Utbildningsnivå
- Avancerad nivå
- Huvudområde(n) med fördjupning
- Datavetenskap A1N, Teknik A1N, Tillämpad beräkningsvetenskap A1N
- Betygsskala
- Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 10 oktober 2023
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
120 hp inom teknik/naturvetenskap inklusive 30 hp matematik och 10 hp programmering. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)
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
Laborationer (3 hp), inlämningsuppgifter (3 hp) och projektuppgifter (4 hp) 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,1TD351 Högprestandaberäkningar och programmering, 1TD480 Programmering av parallelldatorer och 1TD064 Högprestanda- och parallellberäkningar.