What problem does it solve?
High-performance computing applications often suffer from poor data locality and underutilized hardware. This Skill provides proven patterns to improve cache efficiency, vectorization, threading, and NUMA awareness.
Core Features & Use Cases
- Cache-Friendly Data Structures: SoA vs AoS, layout-driven performance improvements for particle systems, matrices, and graphs.
- SIMD Vectorization: Guidance on compiler hints, intrinsics, and portable SIMD strategies for uniform workloads.
- Memory Management: Aligned allocators and memory pools to reduce fragmentation and improve bandwidth.
- Thread Parallelism: Thread pools, parallel for patterns, and work-stealing strategies for scalable performance.
- NUMA-Aware Allocation: Techniques to maximize memory locality on multi-socket systems.
- Performance Measurement: Simple profiling and benchmarking guidance to quantify improvements.
Quick Start
Apply these patterns to a C++20 HPC project by converting a kernel to a Structure-of-Arrays layout, enabling SIMD pragmas, and integrating a 64-byte aligned allocator and a NUMA-aware allocation strategy.