Hoppa till huvudinnehållet

DD2360 Tillämpad GPU-programmering 7,5 hp

Välj termin och kursomgång

Välj termin och kursomgång för att se information från rätt kursplan och kursomgång.

Rubriker med innehåll från kursplan DD2360 (VT 2019–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Kursen fokuserar på trehuvudfrågor:

  • GPU-arkitektur. Beräknings- och minnessystem hos olika kommersiella grafikprocessorer introduceras. En jämförelse med konventionella CPU:er och en presentation av nya kommande GPU:er kommer att ges.
  • GPU-programmering med CUDA. CUDA:s koncept och hur man använder dem för att utveckla applikationer för GPU:er introduceras genom exempel från olika områden, såsom bildbehandling och vetenskapliga beräkningar. Även utvecklingsverktyg, såsom debuggers och verktyg för att mäta prestanda presenteras.
  • GPU-programmering med GPU-bibliotek och beräkningspaket. Paket för hög produktivitet, bland annat Thrust biblioteket, OpenACC och cuDNN, presenteras. Olika paket kommer att förklaras genom exempel från olika datalogiska områden.

Studenterna kommer att få tillgång till GPU-klustret Tegner på PDC om de inte redan har tillgång till en dator med GPU.

Lärandemål

Efter avslutad kurs ska studenter kunna:

  • analysera GPU-arkitekturer, bedöma dess fördelar och identifiera potentiella mjukvaruoptimeringar baserade på kännedom om GPU-arkitekturen.
  • utforma och implementera ett program för en GPU för tillämpningar inom vetenskapliga beräkningar, maskininlärning, bild- och videobearbetning, datorgrafik eller för en mobiltelefon.
  • experimentella högproduktiva metoder för GPU-programmering, såsom GPU-bibliotek och beräkningspaket, för att påskynda utvecklingen av stora GPU-applikationer.
  • använda effektiva utvecklingsverktyg för GPU-programmering, såsom debuggers och verktyg för att mätaprestanda.
  • utarbeta en skriftlig rapport om design, utveckling och implementeringen av en kod för en GPU (med tillämpning på vetenskapliga beräkningar, maskininlärning, bild och video bearbetning, datorgrafik eller för en mobiltelefon) och muntligt presentera rapporten vid ett seminarium.

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet

Ingen information tillagd

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

En serie artiklar som presenterar design och implementation av applikationer för GPU kommer att publiceras på kursens hemsida. En bok som delvis täcker kursinnehållet är "CUDA for Engineers" av D. Storti och M.Yurtoglu.

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

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

Examination

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

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Profile picture Stefano Markidis

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kurswebb

Ytterligare information om kursen kan hittas på kurswebben via länken nedan. Information på kurswebben kommer framöver flyttas till denna sida.

Kurswebb DD2360

Ges av

EECS/Datavetenskap

Huvudområde

Datalogi och datateknik

Utbildningsnivå

Avancerad nivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Stefano Markidis, e-post: markidis@kth.se

Övrig information

I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex