Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
DS 221 AUG 3:1 Introduction to Scalable Systems (VSS/YS)
·
Module 3
Single-Core Performance Optimization
1
Profiling C++ Code with gprof and perf
Profile C++ code to identify performance bottlenecks using tools like gprof or perf
2
Pipelining and Instruction-Level Parallelism for Performance
Explain how instruction-level parallelism and CPU pipelining improve performance
3
Branch Prediction and Pipeline Efficiency
Describe how branch prediction affects pipeline efficiency
4
Optimizing Loops for Cache and Performance
Apply loop interchange and unrolling to improve cache utilization and instruction scheduling
5
Loop Tiling for Memory Hierarchy Optimization
Apply loop tiling (blocking) to optimize for multiple levels of the memory hierarchy
6
SIMD and Vector Processing Explained
Explain the concept of SIMD (Single Instruction, Multiple Data) and vector processing
7
Auto-Vectorization: Using Compiler Flags and Diagnostic Reports
Use compiler flags and diagnostic reports to enable and verify auto-vectorization of a C++ loop
8
Vectorizing Loops with SIMD Intrinsics
Rewrite a simple C++ loop using SIMD intrinsics to perform manual vectorization
Previous module
Memory Hierarchy and Cache Systems
Next module
Foundations of Parallel Architectures