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.