SIMDinstruktioner
SIMDinstruktioner, eller Single Instruction, Multiple Data, är processorinstruktioner som gör det möjligt att utföra samma operation på flera datapunkter samtidigt. Detta ger dataparallellism och kan leda till betydande hastighetsökningar i uppgifter som beräkningar på vektordata, exempelvis bild- och ljudbehandling samt vetenskapliga beräkningar.
Instruktionerna opererar på vektorregister som innehåller flera element; en SIMD-instruktion tillämpar samma operation på alla element
Vanliga instruktionsset inkluderar x86:s SSE/SSE2/AVX/AVX-512, ARM:s NEON, PowerPC:s AltiVec och RISC-V:s Vector. Dessa stödjer vanligtvis flyttal
Programmering kan ske via intrinsics, som ger direkt åtkomst till instruktionerna, eller via högnivåramverk och kompilatorer
Begränsningar inkluderar portabilitetsproblem mellan olika arkitekturer, krav på dataalignment, risk för ineffektivitet om kontrollflöden bryts inom