Designing SIMD computation library using C++11 - An implementer's view of Boost.SIMD

SIMD instructions became a mandatory hardware components since the last 10 years. Most chip vendors roadmap features this kind of parallelism source and this trend is not coming to an end soon. Both HPC applications or embedded, mobile applications require such acceleration to be able to meet their requirements of performances. Usage of SIMD still is limited to a few experts or rely on fragile autovectorization scheme in compilers. Various proposal have been made to provide a C++ standard way to handle those kind of extensions. This talk will speak about Boost.SIMD, an on-going effort of bringing portable SIMD programming to C++. As a follow up of our previous talk on the subject, we'll focus on how the new C++11/14 behaves when mixed with intrinsics, special register types and how Concepts will probably be able to help us in the future. Demonstration of what Boost.SIMD can bring in different applications setup will be shown along with performances of classical benchmarks.

Speaker: Joel Falcou

Slides


Go back