GPU-Programmierung
Welche Verarbeitung läuft auf der GPU tendenziell ineffizient?
- AEine verkettete Liste Element für Element vom Anfang her durchlaufen, wobei der Wert jedes Elements die nächste Aktion bestimmt
- BElementweise Addition zweier großer Arrays
- CVerdoppelung der Helligkeit aller Pixel eines großen Bildes
Antwort und Erläuterung anzeigen
Antwort: A. Eine verkettete Liste Element für Element vom Anfang her durchlaufen, wobei der Wert jedes Elements die nächste Aktion bestimmt
Bei einer verketteten Liste ist der Ort des nächsten Elements erst bekannt, wenn das vorherige gelesen wurde, sodass sie nicht parallel durchlaufen werden kann. Hängt zudem die Aktion vom Wert ab, verzweigen sich die Threads eines Bündels, das dieselbe Anweisung ausführt, und die Effizienz sinkt. Auch die Speicherorte sind verstreut und können nicht gebündelt gelesen werden. Für die GPU eignen sich Aufgaben, die für jedes Element unabhängig sind und dieselbe Verarbeitung auf Daten an aufeinanderfolgenden Adressen anwenden.