Home » Introduction to GPU and accelerator programming for scientific computing 2015

Introduction to GPU and accelerator programming for scientific computing

General aims of the course

Graphics processing units (GPU) and other accelerators like the Xeon Phi will provide a significant part of the computational power used in future scientific computing applications. Mastering parallel computing with these devices is therefore very interesting and becoming increasingly important. This course will provide knowledge and practical experience for the development of programs using GPUs and accelerators in the field of scientific computing.

Intended learning outcomes

After the course you will be able

  • to understand the properties of GPUs and Xeon Phi coprocessors,
  • to reason about the performance of programs running on them,
  • to assess the potential and limitations of using this computing approach,
  • to write parallel programs that utilise GPUs and Xeon Phi coprocessors efficiently.

Course main content

The lectures focus on introducing programming with CUDA on GPUs as well as programming approaches for the Intel MIC architecture. More examples of alternative processor architectures like the Parallella platform and multi-core digital signal processors will be discussed in order to round off the picture.

Practical exercises during the second course week will exemplify the features of the computing devices. Finally, a numerical simulation application will be developed during the project work.


  • Basic knowledge in one of the programming lanuages C, C++ or Fortran
  • Basic knowledge of numerical analysis and computer science
  • Basic knowledge of Linux, Unix or Mac OS X.

You will need to bring a laptop and you will need to access to eduroam.


Literature will be announced here in good time before the course starts.

Course schedule

Please note that the schedule has been updated and may differ from information you maybe got earlier.

First course week: Introductory lectures and presence labs
week 51 (2015-12-14 – 2015-12-17) at KTH in Stockholm

Second course week:Self-studies and homework assignments
week 02 (2016-01-11 – 2016-11-15)

Third course week:Project work
week 03 (2016-01-18…)


  • Participation in lectures and presence labs
  • Homework assignments
  • Project work

The number of credits for the course is 5.0 ECTS.


Michael Schliephake, PDC Center for High Performance Computing, KTH
michs at kth.se


Deadline for application: 2015-11-23.