PPSC 2024F

Programming and Parallel Scientific Computing

Syllabus

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.

Schedule

Location: I/E102 + Zoom Visioconference.

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

Week 46
12. NovemberI/E102AM: Introduction to shell and git
 I/E102PM: Introduction to supercomputing, finite-precision arithmetics and data models
14. NovemberI/E102AM: Procedural language programming: application to linear algebra
 I/E102 PM: Lab.
Week 47
19. NovemberI/E102AM: Applications of distributed scientific computing
 I/E102PM: Lab.
21. NovemberI/E102AM: Models for parallel computing
 I/E102PM: Lab.
Week 48
25. NovemberI/E102AM: Object-Oriented abstraction for numerical frameworks
I/E102PM: Lab.
Week 49
 04. DecemberI/E102AM+PM: Iterative solvers and applications

Project deadlines: TBA.