CERN Accelerating science

CERN openlab Training Course: Programming and Environments for Parallelism

Tuesday, 3 November, 2015 - 09:00 to Friday, 6 November, 2015 - 17:30

The parallelism course dives into a wide range of parallel programming techniques, whether data- or task-parallel. The training course will start with an overview of patterns, look at trade-offs, pitfalls and available parallel programming environments – with a particular focus on OpenMP4, Threading Building Blocks and Cilk. The last day is an advanced class devoted to fine-tuning and balancing parallel programs using modern frameworks, runtimes and APIs. Hands-on labs are included. Topics tackled are:

- Software technologies and constructs for advanced parallelization 

- Parallel programming patterns 

- Evaluating tradeoffs 

- Lockless algorithms, avoiding parallelism pitfalls and traps 

- Advanced technologies: getting most out of OpenMP4, Cilk, TBB. 

- Special control options, finetuning, balancing. 

- Choosing the appropriate technology out of a portfiolio of over 20.