Understanding Different Types of SIMD Usage
A (Draft) Taxonomy of SIMD Usage 🔗
The text discusses a draft taxonomy of Single-Instruction, Multiple-Data (SIMD) usage, categorizing it into three types: horizontal (performing simple tasks in parallel), vertical (handling complex tasks using SIMD resources), and exotic (taking advantage of functionality available only as SIMD instructions). The author emphasizes the versatility and varying benefits of SIMD usage, and highlights the combination of different styles of coding within the same codebase. The text also addresses the misconception of SIMD architectures as undersized GPUs, arguing that SIMD code is frequently intermixed with single-threaded code, and may not necessarily benefit from wider SIMD models or vector extensions.