Datenparallelismus
Datenparallelismus bezeichnet ein Programmier- und Ausführungsmodell, bei dem dieselbe Operation gleichzeitig auf viele Elemente einer Datenmenge angewendet wird. Der Datensatz wird in Teilmengen zerlegt, und jeder Verarbeitungskern führt dieselbe Anweisung auf seinen Teil aus. Da die Berechnungen weitgehend unabhängig voneinander sind, lassen sie sich parallel beschleunigen.
Dieses Muster wird von SIMD-Einheiten in CPUs, Grafikkarten (GPUs) und anderen Massively-Parallel-Systemen genutzt. Programmiermodelle und Bibliotheken
Typische Muster sind map, reduce sowie scatter/gather. Beim map wird eine Operation auf jedes Element angewendet;
Anwendungsbereiche umfassen Bild- und Signalverarbeitung, lineare Algebra, Simulationen sowie das Training und die Inferenz von KI-Modellen,
Begrenzungen ergeben sich durch Abhängigkeiten zwischen Berechnungen, unregelmäßige Datenstrukturen, Speicherbandbreite und Kommunikationsaufwand. Potenziale wachsen mit zunehmender