Lecture 4: HIP & GPU Basic Parallel Programming
Lecture 4: HIP & GPU Basic Parallel Programming
SIMD is a parallel computing architecture that allows a single instruction to operate on multiple data elements simultaneously.
SIMD is also a data-parallel programming model that allows developers to operate on multiple pieces of data simultaneously using a single instruction.
| Architecture | Instruction Stream | Data Stream | Characteristics |
|---|---|---|---|
| SISD | Single | Single | Traditional sequential processing |
| SIMD | Single | Multiple | Suitable for data-parallel processing |
| MISD | Multiple | Single | Rare, used for fault-tolerant systems |
| MIMD | Multiple | Multiple | Suitable for task-parallel processing |
Intel SSE/AVX
SIMD instruction sets in Intel processors, supporting 128-bit (SSE) and 256-bit (AVX) operations.
ARM NEON
SIMD extension for ARM processors, widely used in mobile devices.
GPU SIMT Architecture
While not exactly SIMD, GPUs’ SIMT (Single Instruction, Multiple Threads) shares similarities with SIMD.
Read more about SIMT: Getting Start w/HIP Programming