TMA4280 - Introduction to Supercomputing


EDVAC, the first "Von Neumann" machine (ca. 1948).


The objective with this course is to give a brief introduction to modern computer architecture and to discuss numerical algorithms for vector and parallel processing.

Lecturer and student assistant

Eivind Fonn, SINTEF ICT.

Reference group

  • Marcus André Ramberg: marcusar @ stud
  • Raymond Toft: raymont @ stud
  • Simen Lillehagen: simenlil @ stud


  • Lectures: Fridays, 10:15–13:00 at S5 (central building, Gløshaugen campus)
  • Exercises: Mondays, 18:15–20:00 (!) at H1 (main building, Gløshaugen campus)

The semester starts on January 11th, which means the first lecture is on January 15th.

An extra Q/A session is scheduled for Friday June 3, 10:15–13:00 at S1 in preparation for the examination.

Course material

Lecture notes

Lecture notes can be found here (updated May 21). The remaining chapters will be added to this PDF when they are ready.

Problem sets and solutions

The date listed is the date of the corresponding exercise session.

  1. February 8, 15, 22 (mandatory; updated Feb 11)
  2. March 7, 14, April 4 (mandatory; updated Mar 15; see also provided code, updated Mar 15)


  1. Shell crash course (Week 2), see also the hello suite
  2. MPI (Week 2 + 3)
  3. Vilje (Week 3)
  4. OpenMP (Week 4; updated Feb 11)
  5. Summing (Week 5)
  6. Poisson (Week 5)
  7. Direct solvers (Week 6)
  8. MPI-IO (Week 9)
  9. PETSc (Week 10)
  10. GPU programming (Week 11)

Slides from the lectures will be uploaded here after the corresponding lecture.

User account on Vilje

The much discussed form is here.

  • Faculty and institute are the ones you belong to, not (necessarily) IME and IMF.
  • Make sure you write your phone number because you will get your password by SMS.
  • Reasonable start dates are 2016-01-11 and 2016-06-11 (the official semester dates).
  • Your "local user name" is your NTNU username.
  • Your personal ID is probably <username>
  • The project is ntnu603.
  • Leave project manager fields blank (I will deal with them).

Examination and grading

There will be:

  • Roughly four voluntary exercises
  • A small project to familiarize ourselves with various tools (compilers, shells, git, etc.)
  • A larger project
  • A final written exam (June 7th, 9:00)

The exam covers 60% of your grade, and must be completed to get any grade at all. The projects cover the remaining 40%.

The suggested solutions to the final exam are here.

Old exams

Supercomputers in Norway and abroad


UNIX (Univerisity of Edinburgh), UNIX (NTNU)

2016-06-07, eivindfo