INF9063 – Programming heterogeneous multi-core architectures

Schedule, syllabus and examination date

Choose semester

Course content

The course addresses issues related to heterogeneous multi-core architectures that are in all computing varying from mobile phones, commodity desktops to large computing clusters. The students will use and program three different architectures, and have to learn how to handle different types of asymmetric cores, interconnects and memory. During the course, the students will understand the challenges in writing efficient programs for the different architectures.

Lab-assignments are an important part of the course.  The students program the SIMD units found in modern processors, graphics processing units (GPUs) from Nvidia and machines connected with PCI Express interconnect from Dolphin Interconnect Solutions.

Learning outcome

After completing INF9063 you can:

  • Understand how a typical multimedia workload such as a video encoder is built up.
  • Use profiling to identify and fix bottlenecks in programs.
  • Detailed knowledge about parallelize, offload and optimize parts of a serial program on heterogeneous multi-core architectures.
  • Use the SIMD units found on almost all modern processors.
  • Program Nvidia GPUs using the CUDA framework.
  • Using PCI Express interconnect to distribute workloads in several machines.
  • In addition, each PhD student will be given an extended curriculum within the field/research area of the course. The syllabus must be approved by the lecturer so that the student can be admitted to the final exam.


PhD candidates from the University of Oslo should apply for classes and register for examinations through Studentweb.

If a course has limited intake capacity, priority will be given to PhD candidates who follow an individual education plan where this particular course is included. Some national researchers’ schools may have specific rules for ranking applicants for courses with limited intake capacity.

PhD candidates who have been admitted to another higher education institution must apply for a position as a visiting student within a given deadline.


4 sessions with 6 hours lectures/presentations

3 sessions with 3 hours lab.


Graded mark will be handed out based on 3 graded assignments (home exam) with oral presentation that account for approximately 33% each. Failing a graded assignment does still allow participation in the remaining exams. All exams must be taken during the same semester.

Note that the exam in INF9063 will be more extensive than the one in INF5063.

Grading scale

Grades are awarded on a pass/fail scale. Read more about the grading system.

Explanations and appeals

Resit an examination

Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester.

Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.

Withdrawal from an examination

It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.


It is strongly recommended to attend the first lecture since it will be given important information.

Facts about this course






Every autumn


Every autumn

Teaching language

Norwegian (English on request)