The course discusses programming models and optimisation techniqes for Intel manycore processors in order to enable programmers to achieve good performance of their applications. The course will concentrate on techniques also relevant for the latest Intel® Xeon® Scalable processor, code-named Skylake, which is going to be utilized in the upcoming SuperMUC-NG machine at LRZ. Futhermore programming and optimisation techniques for Intel Knights Landing (KNL) based systems like the KNL cluster CoolMUC3 at LRZ will be discussed.
The workshop covers a wide range of topics from the description of the hardware of the Intel processors through information about the basic programming models as well as information about vectorisation and MCDRAM usage up to tools and strategies how to analyse and improve the performance of applications.
Topics covered will include:
- Overview of the Intel Skylake and MIC architecture
- Overview of programming models
- Vectorisation and basic performance optimisation
- Code optimisation process for Intel processors
- Intel profiling tools and roofline model
- KNL memory modes and cluster modes, MCDRAM
- Advanced optimisation techniques (RRZE)
- Skylake programming using Intrinsics and Assembler (RRZE)
- Skylake nodelevel- and microarchitecture in detail (Intel)
- OpenMP SIMD (Intel)
- OpenMP affinity and outlook on OpenMP 5.0 memory features (Intel)
The workshop will include both theoretical and practical hands-on sessions.
Please bring your own laptop (with an ssh client installed) for the hands-on sessions!
Figure: Participants of the MIC Workshop 2016
About the tutors
Dr. Momme Allalen received his Ph.D in theoretical Physics from the University of Osnabrück in 2006. He worked in the field of molecular magnetics through modelling techniques such as the exact numerical diagonalisation of the Heisenberg model. He joined the Leibniz Computing Centre (LRZ) in 2007 working in the High Performance Computing group. His tasks include user support, optimisation and parallelisation of scientific application codes, and benchmarking for characterising and evaluating the performance of high-end supercomputers. His research interests are various aspects of parallel computing and new programming languages and paradigms.
Dr.-Ing. Jan Eitzinger (RRZE) (formerly Treibig) holds a PhD in Computer Science from the University of Erlangen. He is now a postdoctoral researcher in the HPC Services group at Erlangen Regional Computing Center (RRZE). His current research revolves around architecture-specific and low-level optimization for current processor architectures, performance modeling on processor and system levels, and programming tools. He is the developer of LIKWID, a collection of lightweight performance tools. In his daily work he is involved in all aspects of user support in High Performance Computing: training, code parallelization, profiling and optimization, and the evaluation of novel computer architectures.
Dr. Luigi Iapichino holds a position of scientific computing expert at LRZ and he is member of the Intel Parallel Computing Center (IPCC). His main tasks are code modernization for many-core systems, and HPC support. He got in 2005 a PhD in physics from TU München, working at the Max Planck Institute for Astrophysics. Before moving to LRZ in 2014, he worked at the Universities of Würzburg and Heidelberg, involved in research projects related to computational astrophysics.
Dr.-Ing. Michael Klemm (Intel Corp.) obtained an M.Sc. in Computer Science in 2003 and received a Doctor of Engineering degree (Dr.-Ing.) from the Friedrich-Alexander-University Erlangen-Nuremberg, Germany, in 2008. Michael Klemm works in the Developer Relations Division at Intel in Germany and his areas of interest include compiler construction, design of programming languages, parallel programming, and performance analysis and tuning. Michael Klemm joined the OpenMP organization in 2009 and was appointed CEO of the OpenMP ARB in 2016.
Dr. Volker Weinberg studied physics at the Ludwig Maximilian University of Munich and later worked at the research centre DESY. He received his PhD from the Free University of Berlin for his studies in the field of lattice QCD. Since 2008 he is working in the HPC group at the Leibniz Supercomputing Centre and is responsible for HPC and PATC (PRACE Advanced Training Centre) courses at LRZ, new programming languages and the Intel Xeon Phi based system SuperMIC. Within PRACE-4IP he took over the leadership to create Best Practice Guides for new architectures and systems.
|Good working knowledge of at least one of the standard HPC languages: C, C++ or Fortran. Basic OpenMP and MPI knowledge useful. Please bring your own laptop for the hands-on sessions.|
|Further information:||Travel info, hotel info|
|Dr. Volker Weinberg, Dr. Momme Allalen, Dr. Luigi Iapichino (Leibniz Supercomputing Centre), Dr.-Ing. Jan Eitzinger (RRZE), Dr.-Ing. Michael Klemm (Intel)|