Content
The training planned for 2017 puts special emphasis on two recent important developments in the multithreading area: the C++11 multithreading standard library, and the substantial extensions incorporated in the OpenMP 4.0 - 4.5 releases. The subjects to be developed are grouped in three categories,
- Introduction to multithreading, overview of present hardware and software technologies. Thread management and synchronization. Memory coherency and memory consistency issues.
- Overview of the C++11 thread library, focusing on the added value that utilities implemented with this basic library can provide to higher level programming environments like OpenMP.
- A complete overview of OpenMP, including all the new features of the latest 4.0 – 4.5 releases. In depth discussion of task centric programming in OpenMP. A number of full OpenMP examples are proposed, dealing with data parallel contexts, unbalanced and irregular applications, and applications involving pipelined threads.
Each one of these subjects is illustrated with examples exhibiting pitfalls and best practices. A library of high level utilities - written in C++11 - that simplify the programming of delicate concurrency patterns (like control parallelism and pipelines, or point to point synchronizations among individual threads) developed by the author, is made available.
Prerequisites
Experience in C programming and some limited knowledge of C++. Experience in advanced C++ programming is not required. The (limited) specific C++ syntax required by the C++11 threads library will be discussed when needed.
Support material
This training is based on selected subjects from a book recently published by the author (see store.elsevier.com, and search by ISBN: 9780128037614). Examples and exercises are taken from the software accompanying the book (see booksite.elsevier.com/9780128037614 ).
The booksite is being upgraded (November 2016) to incorporate a substantial amount of additional documentation on the accompanying software, to facilitate its usage. The updated directories will have the 11-2016 date in their names.
Victor Alessandrini
Maison de la Simulation
CEA-Saclay, France