PPSC 2021F

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.