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: I/E102 + Zoom Visioconference.
Time: AM: 10:00-12:00, PM: 13:30-15:30
|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|
|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++|
|17. November||I/E102||Metaprogramming and advanced algorithms in C++|
|18. November||I/E102||Distributed Memory Programming Models|
|23. November||I/E102||Shared Memory Programming Models|
|25. November||I/E102||Iterative solvers and applications|
Project deadlines: TBA.