Speaker
Mr
Matthias Kretz
(GSI Helmholtzzentrum für Schwerionenforschung)
Description
Computing hardware is steadily increasing the attainable operations executed per second. However, this increase is only accessible through “proper” parallelization of our software. While the multi-core/multi-thread issue has seen a lot of research and solutions in recent years, the intrinsic parallelism per CPU core (SIMD) has widely been neglected. A look at current hardware shows that our software should take SIMD execution seriously.
Starting from a quick introduction to data-parallelism, I will present how this common software property can be translated to SIMD instructions and thus a considerable speedup of the software. This leads to the underlying programming problem: Our programming languages are still unable to express synchronously data- parallel (e.g. SIMD) execution. I will present the current options of the C++ committee for solving the issue. Vector types, as one of the solutions, allow explicit data-parallel programming via the type system. I will focus on SIMD programming with the Vc library, which is available as part of ROOT. The last part of the talk will cover examples of possible applications and upcoming features for the Vc 1.0 release.
Author
Mr
Matthias Kretz
(GSI Helmholtzzentrum für Schwerionenforschung)