SubjectsSubjects(version: 928)
Course, academic year 2022/2023
   Login via CAS
High Performance Software Development - NPRG054
Title: Vývoj vysoce výkonného software
Guaranteed by: Department of Software Engineering (32-KSI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2019 to 2022
Semester: summer
E-Credits: 6
Hours per week, examination: summer s.:2/2, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Additional information:
Note: enabled for web enrollment
Guarantor: RNDr. David Bednárek, Ph.D.
Class: Informatika Mgr. - Softwarové systémy
Classification: Informatics > Programming
Annotation -
Last update: T_KSI (28.04.2016)
Programming focused to performance. Modern processor features and the memory hierarchy. Compiler optimization and its limits; automatic and manual vectorization. Effective implementation of basic linear-algebra and data-processing algorithms. The course requiers knowledge in scope of the course NPRG041 - Programming in C++!
Course completion requirements -
Last update: RNDr. David Bednárek, Ph.D. (07.06.2019)

The credit is awarded for acquiring a required number of points from homework assignments, which are in the form of small software projects in C++, and for passing an oral exam, while the oral exam can be replaced by obtaining a higher number of homework points. The point limits applicable for a given year are published at the beginning of the semester.

Syllabus -
Last update: RNDr. David Bednárek, Ph.D. (22.04.2016)
  • Software performance vs. modern programming languages and methodologies
  • Current processor architectures and their impact on performance
  • Compiler optimization techniques and their limits
  • Performance measurement and tuning, profilers
  • Vector instructions and their use in C++
  • Memory hierarchy and its typical properties in current computers
  • Cache-aware and cache-oblivious algorithms
  • Selected performance-critical problems of linear algebra and data processing

This course does not cover parallel programming - see NPRG042 Programming in Parallel Environment.

Charles University | Information system of Charles University |