An Overview of Program Optimization Techniques
Offered By: ACCU Conference via YouTube
Course Description
Overview
Explore an in-depth overview of program optimization techniques in this ACCU 2017 conference talk by Mathias Gaunard. Delve into the world of C++ efficiency as the speaker introduces various methods to map algorithms to computer architecture with minimal overhead. Begin by understanding the intricacies of hardware architecture, including NUMA, multi-core processing, superscalar execution, instruction pipelining, specialized processing units, caching behavior, and branch prediction. Then, discover practical programming techniques such as asynchronous programming, strength reduction, tiling, loop unrolling and pipelining, branch elimination, vectorization, mixed precision, and specialized algorithms. Learn how C++ templates can help generalize and combine these optimization strategies. Examine benchmarks to assess the effectiveness of these techniques in real-world scenarios. Cover topics like x86 optimization, assembly, port types, auto order execution, SIMD, multithreading, complex switches, caches, compact objects, padding, inlining, ABI cost, metaprogramming, explicit load, unrolling, loop optimization, and register rotation.
Syllabus
Introduction
What is optimization
X86 optimization
Assembly
Port Types
Auto Order Execution
Avoid Stalls
Not all instructions are equal
Relative instruction speed
SIMD
Multithreading
Complex Switches
Caches
Compact Objects
Padding
Branch prediction
Branch code
Static branch prediction
Inlining
ABI Cost
Specialized Optimization
Metaprogramming
Explicit Load
Unrolling
Overload
Advanced Optimization
Loop Optimization
Register Rotation
Taught by
ACCU Conference
Related Courses
Khronos Sycl Language Framework for C++ Accelerators - Take Advantage of All the MIPSACCU Conference via YouTube Space Invaders - The C++20 Spaceship Operator is Upon Us
ACCU Conference via YouTube Grinding, Farming, and Alliances - Become a Better Programmer by Using Words and Ideas From Casual Gaming
ACCU Conference via YouTube Designing for C++ Concurrency Using Message Passing
ACCU Conference via YouTube Productivity in C++ Game Development - Inside the Mind of an AAA Game Developer
ACCU Conference via YouTube