Ich versuche, Summenreduktion von 32 Elementen (jeweils 1 Byte Daten) auf einem Intel i3-Prozessor zu finden. Ich tat das:Summenreduzierung von vorzeichenlosen Bytes ohne Überlauf, mit SSE2 auf Intel
Allerdings nimmt es mehr Zeit, da meine Anwendung eine Echtzeit-Anwendung viel weniger Zeit benötigt. Bitte beachten Sie, dass die endgültige Summe könnte mehr als 255 sein.
Gibt es eine Möglichkeit, die ich mit Low-Level-SIMD SSE2-Anweisungen implementieren kann? Leider habe ich SSE nie benutzt. Ich habe versucht, zu diesem Zweck nach der Funktion sse2 zu suchen, aber es ist auch nicht verfügbar. Ist es (s) garantiert, die Berechnungszeit für solch kleine Probleme zu reduzieren?
Irgendwelche Vorschläge ??
Hinweis: Ich habe die ähnlichen Algorithmen mit OpenCL und CUDA implementiert und das funktionierte großartig, aber nur, wenn die Problemgröße groß war. Bei kleinen Problemen waren die Kosten für den Overhead höher. Nicht sicher, wie es auf SSE funktioniert
Ist die Summe größer als 255? – hirschhornsalz
Ja, die endgültige Summe könnte größer als 255 sein – gpuguy