Skip to content
Main menu hidden.

Design of high-performance software

  • Number of credits 7.5 credits
  • Level Master’s level
  • Starting Spring Term 2022

About the course

The design of high-performance software for computation-intensive problems requires the integration of knowledge from several subject areas. Understanding the problem and its domain is crucial. Once we understand the domain we can identify or construct efficient algorithms and data structures that are capable of solving the problem quickly and reliably. We must then adapt and optimize these algorithms and data structures to the targeted type of computer system (multicore, heterogeneous, cluster, etc), which requires an understanding of computer architecture. Finally, we need an understanding of parallel programming in order to scale up the computation to multiple processors and/or accelerators.

These perspectives are relevant, to varying degrees, for all computation-intensive problems. When developing high-performance software, one central question is how to dynamically allocate time and effort to maximize the quality of the end product. Should more time be spent searching for more efficient algorithms or is it wiser to further optimize the current implementation to the targeted computer architecture?

In this course, the students practice and demonstrate their ability to design, implement and evaluate high-performance software for a compute-intensive problem in some domain. The main challenge throughout the course is to allocate (and re-allocate) time and resources wisely based on rational arguments supported by the literature and empirical data.

Application and eligibility

Design of high-performance software, 7.5 credits

Det finns inga tidigare terminer för kursen Spring Term 2022 Visa tillfällen för efterkommande termin


24 March 2022


5 June 2022

Study location




Type of studies

Daytime, 50%

Required Knowledge

To be admitted you must have 60 ECTS in Computing Science or 2 years of completed studies (120 ECTS), in both cases includning the courses Efficient algorithms, 7.5hp, Computer Organization and Architecture, 7.5hp, and the course Parallel programming for multicore-based systems, 7.5hp or equivalent.

Proficiency in English equivalent to Swedish upper Secondary course English A/5. Where the language of instruction is Swedish, applicants must prove proficiency in Swedish to the level required for basic eligibility for higher studies. Entry requirements


Academic credits Applicants in some programs at Umeå University have guaranteed admission to this course. The number of places for a single course may therefore be limited.

Application code



Application deadline was 15 October 2021. Please note: This second application round is intended only for EU/EEA/Swiss citizens. Submit a late application at

Application and tuition fees

As a citizen of a country outside the European Union (EU), the European Economic Area (EEA) or Switzerland, you are required to pay application and tuition fees for studies at Umeå University.

Application fee

SEK 900

Tuition fee, first instalment

SEK 17,850

Total fee

SEK 17,850

Contact us

Please be aware that the University is a public authority and that what you write here can be included in an official document. Therefore, be careful if you are writing about sensitive or personal matters in this contact form. If you have such an enquiry, please call us instead. All data will be treated in accordance with the General Data Protection Regulation.

Course is given by
Department of Computing Science