This course introduces methods and tools for developing and optimizing the execution of program code on high-performance computing systems. It focuses on computing system architectures for high computational performance, tools for performance monitoring and analysis, software engineering for scientific code development and parallel computing. The course contains four modules:
- the fundamentals of computing systems for high-performance computing and measuring code performance
- data structures and methods for high-performance computing
- performance optimization
- the basics of parallel computing.