Overview
Explore hardware efficiency in C++ through this CppCon 2022 conference talk. Delve into CPU and memory bottlenecks, learning to identify and overcome these limitations in your code. Gain insights on recognizing memory-bound versus CPU-bound code and discover strategies for optimization. Examine instruction level parallelism and its impact on program performance, with practical examples provided in C++. Benefit from the expertise of Ivica Bogosavljevic, a senior software engineer specializing in application performance improvement, as he shares techniques to enhance C/C++ program speed through better algorithms, hardware utilization, and effective use of standard libraries, programming languages, and operating systems.
Syllabus
Intro
Making software fast
Better Usage of Hardware Resources
Computationally intensive or memory intensive?
Fixing memory intensive codes - SOA
Fixing memory intensive codes (3)
Introduction to vectorization
Prerequisites for autovectorization
Fixes for vectorization problems
When do data cache misses typically happen?
Example: Minimum and maximum in array
Why is perfect memory layout the fastest?
Experiment with class size and member layout
Taught by
CppCon