PRACE PATC Course: HPC code optimisation workshop

Thursday, May 4, 2017, 9:00-17:00 @ LRZ

The workshop is organised as a compact course on techniques and methods, focused on code improvement and exploration of the latest Intel processor features, in particular the vector units. During this optimisation process, the attendees will learn how to enable vectorisation using simple pragmas and more effective techniques, like changing data layout and alignment. This work is guided by the hints from the Intel compiler reports, and using Intel Advisor. The outline of the workshop includes: basics on modern computer architectures, optimisation process and vectorisation, Intel Advisor. We provide also an N-body code, to support the described optimisation solutions with practical examples.

The course is a PRACE Advanced Training Center event.



(c) Alessandro Podo

download high resolution version

Learning goals

Through a sequence of simple, guided examples of code modernisation, the attendees will develop awareness on features of multi and many-core architecture which are crucial for writing modern, portable and efficient applications.

Timetable (tentative)

09:00-10:30 Introduction: Modern computer architecture, memory hierarchy

11:00-12:30 Code optimization process I: enable SIMD (with hands-on)

13:30-15:00 Code optimization process II: data layout and OpenMP (with hands-on)

15:30-17:00 Profiling tools: Intel Advisor (with hands-on)

About the lecturers

  • Fabio Baruffa is HPC Application Specialist at LRZ and member of the Intel Parallel Computing Center (IPCC). He was working as HPC researcher at Max-Planck (MPCDF), Jülich Research Center and Cineca where he was involved in HPC software development. His main research interests are in the area of computational methods and optimizations for HPC systems. He holds a PhD in Physics from University of Regensburg for his research in the area of spintronics.
  • 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 modernisation 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.


Part 1

Part 2

Part 3

Part 4

Organisation & Contact

Dr. Volker Weinberg (LRZ)