sse

SSE (Streaming SIMD Extensions) war die erste von vielen ähnlich bezeichneten Vektorerweiterungen für den x86-Befehlssatz. Zu diesem Zeitpunkt ist SSE im Allgemeinen häufiger ein Catch-All für x86-Vektorbefehle und kein Verweis auf SSE ohne SSE2, SSE3 usw.
2
Antworten

Wann sollte ich _mm_sfence _mm_lfence und _mm_mfence verwenden?

Ich habe den "Intel Optimization guide Guide für Intel Architektur" gelesen. Ich habe aber immer noch keine Ahnung, wann ich es benutzen soll _mm_sfence () _mm_lfence () _mm_mfence () Könnte mir jemand die Erklärung geben?     
27.12.2010, 09:35
2
Antworten

Multiplizieren-Subtrahieren in SSE

Ich vektorisiere ein Stück Code und irgendwann habe ich folgendes Setup: %Vor% Ich packe gerade short s in diese Register, weshalb ich 8 Werte pro Register habe. Was ich tun möchte ist, das i-te Element in b mit dem entsprechenden Wert...
19.06.2015, 16:51
1
Antwort

SSE-Code läuft 30% schneller, zeigt aber bei Verwendung mehr als 20% CPU-Anstieg

Ich versuche, eine in VLC verwendete Routine zu optimieren, die den NV12-Frame in einen YV12-Frame konvertiert. Für Hintergrundinformationen ist NV12 identisch mit YV12 mit der Ausnahme, dass die U- und V-Chroma-Ebene verschachtelt sind. Um a...
12.06.2014, 12:59
1
Antwort

Die beste Methode zum Mischen von 64-Bit-Teilen von zwei __m128i

Ich habe zwei __m128i s, a und b , die ich mischen will, so dass die oberen 64 Bits von a in die unteren 64 Bits von dst fallen und die unteren 64 Bits von b fallen in die oberen 64 von dst . d. h. %Vor% Entspricht: %Vo...
13.08.2014, 18:37
0
Antworten

Pro-Element-Atomarität des Vektors laden / speichern und sammeln / streuen?

Betrachten Sie ein Array wie atomic<int32_t> shared_array[] . Was ist, wenn Sie for(...) sum += shared_array[i].load(memory_order_relaxed) ? Oder um ein Array nach dem ersten Nicht-Null-Element zu durchsuchen oder einen Bereich davon a...
02.09.2017, 09:56
1
Antwort

inlining fehlgeschlagen beim Aufruf von always_inline '__m128i _mm_cvtepu8_epi32 (__ m128i)': zielspezifische Option stimmt nicht überein _mm_cvtepu8_epi32 (__m128i __X) [duplizieren]

Ich versuche dieses Projekt von github zu kompilieren, das in C ++ mit SIMD intrinsic (SSE4.1) implementiert ist. Das Projekt in GitHub wird als Visual Studio-Lösung angeboten, aber ich versuche, es in Qtcreator mit cmake zu portieren. Währe...
03.03.2016, 12:45
2
Antworten

Minimum und Maximum der signierten Null

Ich bin besorgt über die folgenden Fälle %Vor% Laut Wikipedia IEEE 754-2008 sagt man zu min und max    Die Min- und Max-Operationen sind definiert, lassen aber Spielraum für den Fall, dass die Eingänge den gleichen Wert haben, sich aber...
18.06.2015, 11:21
4
Antworten

Intel SSE: Warum gibt '_mm_extract_ps' 'int' anstelle von 'float' zurück?

Warum gibt _mm_extract_ps eine int anstatt einer float zurück? Was ist der richtige Weg, um ein einzelnes float von einem XMM-Register in C zu lesen? Oder anders gefragt: Was ist das Gegenteil von _mm_set_ps ?     
02.04.2011, 23:52
3
Antworten

Komplex Mul und Div mit Hilfe von Anweisungen

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
2
Antworten

SSE rundet ab, wenn es aufgerundet werden soll

Ich arbeite an einer Anwendung, die Float-Samples im Bereich von -1.0 bis 1.0 zu 16bit konvertiert, um sicherzustellen, dass die Ausgabe der optimierten (SSE) Routinen korrekt ist. Ich habe eine Reihe von Tests geschrieben, die das non ausführt...
14.10.2015, 01:30