DD2360 Tillämpad GPU-programmering 7,5 hp

Applied GPU Programming

  • Utbildningsnivå

    Avancerad nivå
  • Huvudområde

    Datalogi och datateknik
  • Betygsskala

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

Kurstillfällen/kursomgångar

HT19 appgpu19 för programstuderande

  • Perioder

    HT19 P2 (7,5 hp)

  • Anmälningskod

    50340

  • Kursen startar

    2019-10-28

  • Kursen slutar

    2020-01-14

  • Undervisningsspråk

    Engelska

  • Studielokalisering

    KTH Campus

  • Undervisningstid

    Dagtid

  • Undervisningsform

    Normal

  • Antal platser

    Ingen begränsning

  • Planerade moduler

    P2: B1, G1, B2, G2. mer info

  • Kursansvarig

    Stefano Markidis <markidis@kth.se>

  • Målgrupp

    Sökbar för alla program från årskurs 3 och från för studenter antagna på ett masterprogram.

  • Del av program

HT18 SAP för Study Abroad Programme (SAP)

  • Perioder

    HT18 P2 (7,5 hp)

  • Anmälningskod

    10110

  • 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

  • Schema

    Schema (nytt fönster)

  • Kursansvarig

    Stefano Markidis <markidis@kth.se>

  • Lärare

    Bo Peng <bopeng@kth.se>

    Sergio Rivas Gomez <sergiorg@kth.se>

    Stefano Markidis <markidis@kth.se>

  • Målgrupp

    Endast öppet för studenter från avtalsuniversitet inom programmet SAP.

HT18 för programstuderande

  • Perioder

    HT18 P2 (7,5 hp)

  • Anmälningskod

    51405

  • Kursen startar

    2018-10-29

  • Kursen slutar

    2019-01-14

  • Undervisningsspråk

    Engelska

  • Studielokalisering

    Stockholm

  • Undervisningstid

    Dagtid

  • Undervisningsform

    Normal

  • Antal platser

    Ingen begränsning

  • Schema

    Schema (nytt fönster)

  • Kursansvarig

    Stefano Markidis <markidis@kth.se>

  • Lärare

    Stefano Markidis <markidis@kth.se>

    Viacheslav Olshevskyi <slavik@kth.se>

    Wei Der Chien <wdchien@kth.se>

  • Målgrupp

    Sökbar för alla program från årskurs 3 och från för studenter antagna på ett masterprogram.

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.

Kursens huvudsakliga innehå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.

Behörighet

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

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

Ges av

EECS/Datavetenskap

Kontaktperson

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

Examinator

Erwin Laure <erwinl@kth.se>

Versionsinformation

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