Einzelbefehl, mehrere Daten (SIMD) ist das Konzept, dass jeder Befehl an einem kleinen Block oder Vektor von Datenelementen arbeitet. Zu den CPU-Vektor-Befehlssätzen gehören: x86 SSE und AVX, ARM NEON und PowerPC AltiVec. Um SIMD-Anweisungen effizient zu verwenden, müssen Daten in Form von Arrays vorliegen und in längeren Datenströmen auftreten. Naively "SIMD optimized" -Code überrascht oft, indem er langsamer als das Original läuft.
Führt die Durchführung komplexer Multiplikationen und Divisionen durch SSE-Anweisungen einen Vorteil?
Ich weiß, dass Addition und Subtraktion besser sind, wenn SSE verwendet wird. Kann mir jemand sagen, wie ich mit SSE komplexe Multiplikationen...
09.07.2010, 09:22
Gibt es überhaupt eine Möglichkeit, das Hinzufügen von Elementen über Arrays auf SIMD-Art zu "vektorisieren"?
Zum Beispiel würde ich gerne drehen:
%Vor%
In etwas wie:
%Vor%
Ich weiß, dass etwas in den C ++ / XNA-Bibliotheken existiert...
21.11.2011, 16:11