PPSC 2022F

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, 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.

Schedule

Location: I/E102 + Zoom Visioconference.

Time: AM: 09:00-12:00, PM: 13:30-16:30

Week 46
15. November I/E102 AM: Introduction to supercomputing
  I/E102 PM: Finite-precision arithmetics and data models
17. November I/E102 AM: Procedural language programming: application to linear algebra
  I/E102 PM: Object-Oriented abstraction for numerical frameworks in C++: example of mesh topologies
Week 47
22. November I/E102 AM: Models for parallel computing and performance metrics
     
24. November I/E102 AM: Distributed Memory Programming Models
  I/E102 PM: Distributed Memory Programming Models
Week 48
29. November I/E102 AM: Applications of distributed scientific computing (Jonathan Viquerat)
  I/E102 PM: Shared Memory Programming Models
01. December I/E102 AM: Iterative solvers and applications

Project deadlines: TBA.