Objectives:
The aim of the lectures and exercises contained in this 3-day workshop is to give the attendees a practical introduction to parallel programming, performance optimization and compilers. Linux systems on modern servers will be used as a base.
Contents:
Two experts from Intel and several openlab staff will lead the event and help you improve your knowledge by providing a complete view of the modern PC computing platform. Key intricacies of parallel programming will be explained, along with the most efficient solutions to common multi-threading problems, using modern parallelization environments compatible with C and C++. Performance tuning and computer architecture are also important topics on the agenda, closely linked to the seven performance dimensions of PC servers. In addition, a compiler study is foreseen, where an expert from the Intel compiler team will demonstrate more advanced features and differences between GCC and the Intel compiler.
Hands-on labs are also planned where participants will be able to improve their understanding of the course in practical environments, guided by the speakers. The focus of the workshop will be on C and C++, but programmers of other languages could also benefit. Non-expert users should feel more than welcome, as the course will be an excellent opportunity to improve their knowledge related to computer architecture and performance optimization.
Format:
The course is a merge of the performance tuning and parallelism workshops, containing roughly the same material. The workshop is still free of charge, organized by CERN openlab. Registrations are based on a first-come first-served basis and 40 seats are available. All registrations will be confirmed by e-mail. Please contact openlab.workshops AT cern.ch for further information.
Registration is handled in EDH: https://edh.cern.ch/Document/Personnel/TRN/new?course=123PCP01
Pre-requisites:
• Familiarity with the C and C++ programming languages
• Knowledge of Linux
• Basic understanding of modern computer architecture and compilers