You have to be registered to the course via Canvas, which is provided by both Chalmers and Gothenburg University.


You can apply and register using the Chalmers Student Portal, before the deadline has passed. After that, please contact your Student Center.

University of Gothenburg

Register via the GU Student Portal.

PhD students

Registration requirements for PhD students has changed back and forth in the past years. When in doubt, contact your deparaments administration. In any event, you have to be registered in Canvas in order to participate in the course.

Computer Lab Seesions

There are four computer lab sessions offered in TimeEdit, on Monday, Wednesday, and Friday. You should participate in two of them.


You can reach me at My office is H4028, Tvärgata 3 in Johanneberg. Chalmers offers you a map.


After passing the assignments development environment, optimization, threads, and OpenMP you receive a passing grad, i.e., 3 or G. You can sign up for the exam to get a higher grade. Regardless of how you perform in the exam, you are guaranteed a grad of 3 or G.

Note that many PhD students do not need to pass any exam, since their grading scheme covers one passing grad only. Inform yourself on whether this is the case for your PhD program. Sign up for the exam if you need to.

The exam is a combined take-home/oral exam: You have to prepare individually a detailed analysis and benchmark of one aspect of one of the assignments on threads, OpenMP, OpenCL, or MPI. You also sign up for one time slot in Canvas. As opposed to the previous years, you sign up for slots individually.

Oral Exam: Procedure

The oral exams take place in my office H4028 in MV-huset, Chalmers Tvärgata 3. A time slot is 10 minutes long, 8 of which are reserved for the exam and 2 of which are available for your conveniently settling down. You are expected to give a five minutes presentation of your prepared benchmarks and conclusions (see below for details). You may give the presentation on a whiteboard, but can equally bring printed paper or use your computer screen to display illustrations and graphics. You may not, however, bring printed code or display it on the screen. Following the presentation, I will ask further questions for three minutes. These questions may connected to any material presented in the lectures and are not limited to the assignment that you decided to present on. The presentation is graded according to a fixed grading scheme. If you perform significantly better or worse in the question session, your final grade might diverge from the one assigned for your presentation.

Exam: Content and preparation

In preparation to the oral exam, choose one assignment and one topic specific to that assignment. Next comes a list of topics that you may pick, but you are not limited to these.

Assignment Topic / Aspect
threads efficient evaluation of the formula for Newton iteration
  efficient writing to the files
  efficient assignment of computation to computation threads
  bottle necks for large number of threads or lines or high degree polynomials
openmp efficient reading and parsing of the input file
  efficient computation of the distances
  efficient use of memory and cache
  SIMD instructions and/or intrinsics
opencl efficient data transfer between host and GPU
  impact of branch divergence
  reduce algorithms on the GPU
  efficiency balance between host and GPU computation
mpi reduce algorithms in MPI
  efficient communication patterns

For your topic or aspect answer the following questions: