Please find information below about two workshops coming up this autumn. Both courses are designed for scientists and engineers who undertake programming tasks, particularly in C and C++
Computer architecture and hardware-software interaction (2 days, Oct 26-27)
The architecture course offers a comprehensive overview of current topics in computer architecture and their consequences for the programmer: from the basic Von Neumann schema to its modern-day expansions. Understanding hardware-software interaction allows us to better use all features of available computer hardware and compilers. Specific architectural features are discussed (such as execution ports, branching algorithms, etc), as well as instruction sets, compilers, memory operation and architecture, fundamentals of floating point and acceleration. Hands-on labs are included.
Programming and environments for parallelism (4 days, Nov 3-6)
The parallelism course dives into a wide range of parallel programming techniques, whether data- or task-parallel. We 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.
Both courses, taught by Andrzej Nowak, are organised in cooperation with CERN openlab and are sponsored by the CERN IT Department – there is only a nominal registration fee of 50 CHF. Registrations can be made through EDH and the CERN training catalogue.