Programming and Parallel Scientific Computing
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.
Location: Zoom Visioconference.
Monday 14-16, Other days AM: 10:00-12:00, PM: 13:30-15:30
|02. November||Zoom||14-16: Introduction and Practicalities in Covid-19 times…|
|03. November||Zoom||10-12: Data models and language specification
13:30-15:30: Introduction to development tools and C++ (LAB)
|05. November||Zoom||14-16: Guided Programming Exercises (LAB)|
|09. November||Zoom||14-16: C++ as procedural language: application to linear algebra|
|10. November||Zoom||10-12: Object-Oriented abstraction for numerical frameworks
13:30-15:30: Object-Oriented Concepts (LAB)
|12. November||Zoom||10-12: Templates and Meta-programming
13:30-15:30: Applications to compile-time optimizations (LAB)
|16. November||Zoom||14-16: Computing architectures and Performance|
|17. November||Zoom||10-12: Distributed Memory Programming Models
13:30-15:30: Programming with MPI (LAB)
|19. November||Zoom||10-12: Shared Memory Programming Models
13:30-15:30: Introduction to OpenMP (LAB)
|23. November||Zoom||10-12: Project guidance|
|26. November||Zoom||10-12: Project Guidance|
- Mini-project: 01. December 2020.
- Final project: 15. January 2021.