Fast C++ by using SIMD Types with Generic Lambdas and Filters - Andrew Drakeford - CppCon 2022
Description:
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Grab it
Explore high-performance C++ programming techniques using SIMD types with generic lambdas and filters in this 54-minute conference talk from CppCon 2022. Learn how to generate efficient vectorized code by instantiating generic lambdas with SIMD wrapper types, achieving performance levels of 10-20 GFlops. Discover a small framework for memory management, alignment, and padding of vectors to support this programming style. Compare the performance of lambda-generated code with STL implementations for various functions, including memcopy, inner_product, and accumulate. Investigate branching challenges in vectorized code and explore solutions such as select operations and compound operations like transformSelect. Examine techniques for handling frequent branching and heavy computational loads, including filtering to value-based contiguous views and applying vectorized algorithms. Gain insights into optimizing performance across different compilers and hardware platforms, illustrated through a vectorized implementation of the inverse cumulative normal distribution function.
Read more
Fast C++ Using SIMD Types with Generic Lambdas and Filters - Lecture