Programming and Parallel Scientific Computing
The course provides an introduction to C++ programming and algorithms with a focus on scientific computing. An overview of the C++ language is provided: specification, arithmetics, memory, performance, object-oriented design for component-based software, and advanced topics in numerics using templates. Distributed and shared-memory parallel computing are then approached with exercises related to numerical methods for PDEs.
Location: I/E102 + Zoom Visioconference.
Time: AM: 09:00-12:00, PM: 13:30-16:30
|13. November||I/E102||AM: Introduction to shell and git|
|I/E102||PM: Introduction to supercomputing, finite-precision arithmetics and data models|
|16. November||I/E102||AM: Procedural language programming: application to linear algebra|
|I/E102||AM: Models for parallel computing and performance metrics|
|22. November||I/E102||AM: Distributed Memory Programming Models|
|PM: Distributed Memory Programming Models|
|23. November||I/E102||AM: Applications of distributed scientific computing (Jonathan Viquerat)|
|I/E102||PM: Shared Memory Programming Models|
|29. November||I/E102||AM: Object-Oriented abstraction for numerical frameworks in C++: example of mesh topologies|
|I/E102||PM: Iterative solvers and applications|
Project deadlines: TBA.