Learn how to vectorize Computational Fluid Dynamics (CFD) code using std::simd in this technical conference talk from CppCon. Explore the implementation of SIMD units for data parallelism in high-performance computing, with a focus on using std::experimental::simd in C++. Discover a complementary library developed to make loading and saving std::simd variables syntactically equivalent to their scalar counterparts, allowing loop bodies written for scalar variables to be used with std::simd variables without modification. Examine the challenges and potential C++ improvements needed, as current implementation requires macro usage. Drawing from his experience at the German Aerospace Center (DLR), speaker Olaf Krzikalla shares practical insights on vectorizing CFD code while prioritizing implementation approaches over performance metrics.
Overview
Syllabus
Vectorizing Computational Fluid Dynamics (CFD) Code in C++ Using std::simd - Olaf Krzikalla - CppCon
Taught by
CppCon