CPU-Friendly Code
Offered By: code::dive conference via YouTube
Course Description
Overview
Explore CPU-friendly coding techniques in this conference talk from code::dive 2018. Delve into the complexities hidden by hardware and software platforms that execute code, going beyond Big-O notation. Learn about typical CPU architecture and how to optimize software performance and power consumption. Discover fundamental principles including data and instruction cache-locality, branch prediction, C and C++ compiler intrinsics, and SIMD. Gain insights into operating system concepts like virtual memory, syscalls, and memory allocation. Through demonstrations and examples, understand the impact of cache locality, branch prediction, memory allocation strategies, and intrinsics on code performance. Compare CPU and GPU processing, examine real-world complexity, and explore CISC architectures. Conclude with practical knowledge on writing efficient, CPU-friendly code for improved software performance.
Syllabus
Intro
CPU vs GPU
Big O Notation
Demo
Real complexity
Cache locality
Caches
Fast Processing
More Demos
Cache
Branch prediction
Branch prediction example
Branch prediction demo
Ciscos
Allocations
List vs Vector
Memory Pools
Intrinsics
Intrinsic demo
Intrinsic problems
AVX instructions
Conclusion
Taught by
code::dive conference
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