DD3360 Tillämpad GPU-programmering 7,5 hp

Applied GPU Programming

  • Utbildningsnivå

    Forskarnivå
  • Huvudområde

  • Betygsskala

    P, F

Kurstillfällen/kursomgångar

HT18 för programstuderande

  • Perioder

    HT18 P1 (7,5 hp)

  • Anmälningskod

    51555

  • Kursen startar

    2018-08-27

  • Kursen slutar

    2018-10-26

  • Undervisningsspråk

    Engelska

  • Studielokalisering

    KTH Campus

  • Undervisningstid

    Dagtid

  • Undervisningsform

    Normal

  • Antal platser

    Ingen begränsning

HT18 för programstuderande

  • Perioder

    HT18 P2 (7,5 hp)

  • Anmälningskod

    51677

  • Kursen startar

    2018-10-29

  • Kursen slutar

    2019-01-14

  • Undervisningsspråk

    Engelska

  • Studielokalisering

    KTH Campus

  • Undervisningstid

    Dagtid

  • Undervisningsform

    Normal

  • Antal platser

    Ingen begränsning

Information för forskarstuderande om när kursen ges

period 2, H18

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äta prestanda.

  • 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.

Kursens huvudsakliga innehåll

Kursen fokuserar på tre huvudfrå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.

Kursupplägg

Kursen fokuserar på tre huvudfrågor:GPU-arkitektur, GPU-programmering med CUDA, GPU-programmering med GPU-bibliotek och beräkningspaket

Behörighet

Doktorander vid KTH

Litteratur

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

  • EXA1 - Examination, 7,5, betygsskala: P, F

Examination består av följande:

  • LAB1 - Laborationsuppgifter, 1, betygsskala: P, F

  • LAB2 - Laborationsuppgifter, 1, betygsskala: P, F

  • LAB3 - Laborationsuppgifter, 1, betygsskala: P, F

  • PRO1 - Projektuppgift, 4,5, betygsskala: P, F

Krav för slutbetyg

godkänd på alla moment: LAB1, LAB2, LAB3, PRO1

Ges av

EECS/Beräkningsvetenskap och beräkningsteknik

Kontaktperson

Stefano Markidis

Examinator

Erwin Laure <erwinl@kth.se>

Versionsinformation

Kursplan gäller från och med VT2018.
Examinationsinformation gäller från och med VT2019.