Dear C++ Fans,
for our April Meetup Matthias Noack will talk about SIMD Programming with C++
As usual we start socializing at 19:00h and the talk starts at 20:00h.
Most modern CPUs draw their number-crunching capabilities from hardware data-parallelism provided by their Single Instruction Multiple Data (SIMD) instruction set extensions. Intel has MMX, SSE, and AVX; AMD introduced 3DNow!; IBM has AltiVec, VMX and VSX; and on ARM there's NEON and soon SVE. Although SIMD extensions have been around for more than 20 years now, writing code that makes good use of them still is a tough problem.
The talk will provide an introduction to the SIMD execution model, and provide a comparative overview of SIMD programming approaches from low-level intrinsics over OpenMP compiler directives towards C++ SIMD-type abstractions. The second part of the talk covers the dependency of efficient SIMD vectorisation on the data's memory layout.
Matthias works at the Supercomputing department at Zuse Institute Berlin (ZIB), mostly on methods to make scientific code run faster, ideally in a portable way.