Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 2 » Parallele Algorithmen (Übersicht)
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
pruefungen:hauptstudium:ls2:paralg-2013-02 [14.04.2013 12:44] – angelegt Hasenichts | pruefungen:hauptstudium:ls2:paralg-2013-02 [14.04.2013 12:48] (aktuell) – * errnosys | ||
---|---|---|---|
Zeile 72: | Zeile 72: | ||
for i = ...: | for i = ...: | ||
a[i] = b[i + 1] * c[i * 2] | a[i] = b[i + 1] * c[i * 2] | ||
- | Dieser Code soll vektorisiert werden. Was ist überhaupt Vektorisieren? | + | |
+ | Dieser Code soll vektorisiert werden. Was ist überhaupt Vektorisieren? | ||
* Vektorisieren = Operationen als Vektoroperationen auffassen => parallelisierbar (SIMD) | * Vektorisieren = Operationen als Vektoroperationen auffassen => parallelisierbar (SIMD) | ||
- | * for i = .../4: | + | |
+ | | ||
a[i * 4 + 0] = b[i * 4 + 1] * c[(i * 4 + 0) * 2] | a[i * 4 + 0] = b[i * 4 + 1] * c[(i * 4 + 0) * 2] | ||
a[i * 4 + 1] = b[i * 4 + 2] * c[(i * 4 + 1) * 2] | a[i * 4 + 1] = b[i * 4 + 2] * c[(i * 4 + 1) * 2] | ||
a[i * 4 + 2] = b[i * 4 + 3] * c[(i * 4 + 2) * 2] | a[i * 4 + 2] = b[i * 4 + 3] * c[(i * 4 + 2) * 2] | ||
a[i * 4 + 3] = b[i * 4 + 4] * c[(i * 4 + 3) * 2] | a[i * 4 + 3] = b[i * 4 + 4] * c[(i * 4 + 3) * 2] | ||
+ | |||
* Problem: c[(i * 4 + x) * 2] nicht direkt hintereinander im Speicher -> vorher umkopieren | * Problem: c[(i * 4 + x) * 2] nicht direkt hintereinander im Speicher -> vorher umkopieren |