 
              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. 
