The focus of this workshop is performance engineering. Performance engineering is more than employing tools to identify hotspots and bottlenecks. It is about developing a thorough understanding of the interactions between software and hardware. In the first part of the workshop we deal with the core, socket, and node level, where the code gets executed that does the actual computational work. Once the architectural requirements of a code are understood and correlated with performance measurements, the potential benefit of optimizations can often be predicted. We introduce a “holistic” node-level performance engineering strategy centered around the roofline performance model and apply it to different algorithms from computational science. The second part of the workshop (kindly provided in collaboration with the POP project) deals with identifying parallelization and efficiency issues beyond the node level. A set of metrics is introduced which allows the developer to assess quickly the behavior of their code in view of parallelism, and develop appropriate optimization strategies. Attendees will have the opportunity to work with their own codes while being guided by performance experts.
Course info and schedule: https://indico.math.cnrs.fr/event/4587/
Time: Monday, October 7, 1:30 p.m. - Thursday, October 10, 12:30 p.m.
Place: University of Erlangen-Nuremberg, Department of Mathematics
Room number 00.325-128 (ground floor)
GPS: 49.574092N, 11.030351E
This course is supported by the EoCoE-II project, which is funded by the European Union’s Horizon 2020 research and innovation programme under Grant Agreement 824158.
- Day 1
- Day 2
- Day 3
- Day 4
- Additional material