Fast C++ Using SIMD Types with Generic Lambdas and Filters - Lecture
Offered By: CppCon via YouTube
Course Description
Overview
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.
Syllabus
Fast C++ by using SIMD Types with Generic Lambdas and Filters - Andrew Drakeford - CppCon 2022
Taught by
CppCon
Related Courses
Stanford Seminar - MIPS Open, Wave ComputingStanford University via YouTube Loop Analysis and Vectorization in Julia - JuliaCon 2020
The Julia Programming Language via YouTube Intrinsic Functions and Vector Processing Extensions for SIMD Parallel Operations in C++
javidx9 via YouTube Intrinsics - Low-Level Engine Development with Burst - Unite Copenhagen
Unity via YouTube Aggregating Ticks to Manage Scale in Sea of Thieves - Unreal Fest Europe 2019 - Unreal Engine
Unreal Engine via YouTube