DD3015 Introduktion till programmering med GPGPU och användning för vetenskapliga beräkningar 7,5 hp

Introduction to Programming with GPGPU and Applications in Scientific Computing

  • Utbildningsnivå

    Forskarnivå
  • Huvudområde

  • Betygsskala

    P, F

Det finns inget planerat kurstillfälle.

Lärandemål

The overall goal of the course is to give basic knowledge of the theory, hardware, and software approaches to parallel computing with GPGPU. Especially, hardware and software challenges plus the interactions between them, as well as exposure to research challenges in this field will be emphasized.

The course consists of two parts. Part 1 (4,5 hp) provides the introduction to the field, a detailed look at the device architecture, the basic programming considerations plus the presentation of possibilities to do performance optimizations. Part 2 (3,0 hp) introduces the software tools for the development of numerical applications and examples of algorithms from the field of scientific coomputing.

After the course you will be able to:

  • understand the properties of GPGPU devices
  • reason about the performance of programs running on it
  • assess the potential and limitations of using a GPGPU
  • write parallel programs for GPGPU.

Kursens huvudsakliga innehåll

Part 1: Introduction, Basic programming

  • introduction to CUDA and the device architecture of GPGPU
  • the programming of GPGPU devices
  • performance optimization and application examples.

Part 2: Scientific Programming

  • libraries for the development of parallel numeric algorithms
  • parallelization of numerical algorithms.

Assignments:

Part 1: One smaller and one larger programming project combined with questions to explain the used technology

Part 2: One programming project combined with questions to explain the used approach.

Kursupplägg

The theoretical knowledge will be evaluated by questions to answer as part of the programming project. The practical work comprises in part 1 a smaller and a larger programming project based on the usage of the CUDA SDK. The programming project in part 2 will be a numerical simulation program that is to realize by using the mathematical libraries delivered by the hardware vendor.

Behörighet

Programming experience in C.

Litteratur

Examination

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

Ges av

EECS/Beräkningsvetenskap och beräkningsteknik

Examinator

Erwin Laure <erwinl@kth.se>

Versionsinformation

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