CppCon 2018 has ended
Back To Schedule
Thursday, September 27 • 16:45 - 17:45
Compute More in Less Time Using C++ Simd Wrapper Libraries

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Leveraging SIMD (Single Instruction Multiple Data) instructions are an important part of fully utilizing modern processors. However, utilizing SIMD hardware features in C++ can be difficult as it requires an understanding of how the underlying instructions work. Furthermore, there are not yet standardized ways to express C++ in ways which can guarantee such instructions are used to increase performance effectively.

This talk aims to demystify how SIMD instructions can benefit the performance of applications and libraries, as well as demonstrate how a C++ SIMD wrapper library can greatly ease programmers in writing efficient, cross-platform SIMD code. While one particular library will be used to demonstrate elegant SIMD programming, the concepts shown are applicable to practically every C++ SIMD library currently available (e.g. boost.simd, tsimd, VC, dimsum, etc.), as well as the proposed SIMD extensions to the C++ standard library.

Lastly, this talk will also seek to unify the greater topic of data parallelism in C++ by connecting the SIMD parallelism concepts demonstrated to other expressions of parallelism, such as SPMD/SIMT parallelism used in GPU computing.

avatar for Jefferson Amstutz

Jefferson Amstutz

Dev Tech Software Engineer, NVIDIA
Jeff is a Devtech Engineer at NVIDIA, where he works on large scale 3D visualization on GPUs. He enjoys all things ray tracing, high performance computing, clearly implemented code, and the perfect combination of git, CMake, and modern C++.

Thursday September 27, 2018 16:45 - 17:45 PDT
Steamboat (403)