DD2360 Tillämpad GPU-programmering 7,5 hp
DD2360 Applied GPU Programming
Välj termin och kursomgång
Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.
Kursval
Gäller för kursomgång
HT 2024 appgpu24 programstuderande
Anmälningskod
50990
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.
Kurslitteratur och förberedelser
Särskild behörighet
Rekommenderade förkunskaper
Utrustning
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
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 handläggare av stöd till studenter med 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
Möjlighet till plussning
Examinator
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
Kursrum i Canvas
Ges av
Huvudområde
Utbildningsnivå
Påbyggnad
Kontaktperson
Övrig information
I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex