ö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.
Kursinnehå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.
Förutsättningar
120 hp inom teknik/naturvetenskap inklusive 30 hp matematik och en fortsättningskurs i programmering. Introduktion till beräkningsvetenskap ska vara genomgången. Introduktion till Beräkningsvetenskap får bytas ut mot Beräkningsvetenskap II, 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.)