Solutions and environments for parallel programming
Typical duration: 2 days
Course code: MUL3
A multitude of solutions is offered for parallel programming - but which one to choose?
Training topicsAdvanced technologies for parallelism
This advanced course offers a deep dive into parallel programming technologies and is heavily oriented towards practice. It discusses in depth existing and rising technologies for parallelism support including, but not limited to, OpenMP (including the accelerator-ready version 4), Cilk, Threading Building Blocks, pthreads, and MPI. Data structures supporting the above are also covered.
A rich 10-hour lab program ensures the students get sufficient exposure to each technology and have the opportunity to understand various idiosyncrasies.
After the course, the students will:
- Identify and efficiently use the parallel technology fitting their project
- Understand major software technologies used for parallelism, their benefits, technical details and the differences between them
Advanced technologies: concurrent collections, getting most out of Cilk and TBB, OpenMP4, MPI, special control options
Choosing the appropriate technology out of a portfolio of over 20