Programming and Parallel Scientific Computing
Syllabus
The course provides an introduction to C++ programming and algorithms with a focus on scientific computing using Cimlib_CFD. An overview of the C++ language is provided: specification, arithmetics, memory management, object-oriented design for component-based software, and advanced topics using templates. Distributed and shared-memory parallel computing are then approached with exercises related to numerical methods for PDEs.
Schedule
Location: I/E102 + Zoom Visioconference.
Time: AM: 10:00-12:00, PM: 13:30-15:30
Week 45 | ||
02. November | I/E102 | Introduction to supercomputing and data models |
03. November | I/E102 | C++ as procedural language: application to linear algebra |
04. November | I/E102 | Introduction to UNIX |
Week 46 | ||
09. November | I/E102 | Revision control with GIT and C++ project with CMake |
10. November | I/E102 | Object-Oriented abstraction for numerical frameworks in C++ |
Week 47 | ||
17. November | I/E102 | Metaprogramming and advanced algorithms in C++ |
18. November | I/E102 | Distributed Memory Programming Models |
Week 48 | ||
23. November | I/E102 | Shared Memory Programming Models |
25. November | I/E102 | Iterative solvers and applications |
Project deadlines: TBA.