Zurück zur Übersicht

Begriff

SIMD (Single Instruction, Multiple Data)

Hardware Performance S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Normalerweise rechnet eine CPU so (SISD): 1 + 1 = 2. (Ein Befehl, ein Datenpaar). Wenn du 1000 Zahlen addieren musst, brauchst du 1000 Befehle. SIMD macht Vektor-Rechnung. Die CPU hat extrabreite Register (z. B. 256 Bit bei AVX2). Da passen acht 32-Bit Zahlen rein. Der Befehl VADDPS sagt: "Addiere diese 8 Zahlen mit jenen 8 Zahlen." In einem einzigen Takt. Das ist 8x schneller. Wird genutzt für Bildbearbeitung (Pixel), Audio, Krypto und Physik-Simulationen.

Merksatz: Ein paralleles Architekturkonzept (Flynn'sche Klassifikation), bei dem ein einziger Befehl gleichzeitig auf mehrere Datenelemente angewendet wird, um die Rechenleistung bei vektorisierbaren Aufgaben zu vervielfachen.


Quick-Check

  1. Unterschied zu GPU?
    GPUs sind SIMD-Maschinen ("SIMT"). Sie haben tausende kleine Kerne, die alle das Gleiche tun. CPU-SIMD ist "die kleine GPU in der CPU" (für niedrige Latenz).
  2. SWAR?
    SIMD within a Register. Ein alter Trick, um 64-Bit Integer Register als 8x 8-Bit zu nutzen, bevor es echte SIMD-Hardware gab.
  3. Masking?
    Was, wenn ich in der SIMD-Loop ein if habe? AVX-512 hat "Mask Register". Man rechnet beide Pfade und "blendet" das falsche Ergebnis aus (Merge).