avx

Advanced Vector Extensions (AVX) ist eine Erweiterung der x86-Befehlssatzarchitektur für Mikroprozessoren von Intel und AMD.
1
Antwort

Ist es nützlich, VZEROUPPER zu verwenden, wenn Ihre Programmbibliotheken keine SSE-Anweisungen enthalten?

Ich verstehe, dass es wichtig ist, VZEROUPPER zu verwenden, wenn Sie SSE- und AVX-Code mischen, aber was ist, wenn ich AVX (und gewöhnlichen x86-64-Code) ohne irgendwelche Legacy-SSE-Anweisungen verwende? Wenn ich niemals einen einzelnen S...
27.02.2018, 23:27
2
Antworten

Ausgerichteter und nicht ausgerichteter Speicherzugriff mit AVX / AVX2-Eigen- schaften

Laut Intels Software Developer Manual (s. 14.9) lockerte AVX die Ausrichtungsanforderungen von Speicherzugriffen. Wenn Daten direkt in eine Verarbeitungsanweisung geladen werden, z.B. %Vor% Die Ladeadresse muss nicht ausgerichtet werden. Wen...
27.06.2015, 13:50
1
Antwort

(Vec4 x Mat4x4) Produkt mit SIMD und Verbesserungen

Ich schreibe ein komplexes Simulationsprogramm und es ist offensichtlich, dass die zeitaufwendigste Routine diejenige ist, die einen Vier-Vektor (float4) mit einer 4x4-Matrix multipliziert. Ich muss dieses Programm auf mehreren Computern ausführ...
26.06.2015, 15:01
3
Antworten

Deaktiviere AVX-optimierte Funktionen in glibc (LD_HWCAP_MASK, /etc/ld.so.nohwcap) für valgrind & gdb record

Modernes x86_64-Linux mit glibc erkennt, dass die CPU die AVX-Erweiterung unterstützt und viele String-Funktionen von der generischen Implementierung in AVX-optimierte Version (mit Hilfe von ifunc Dispatchern: 1 , 2 ). Diese Funktion kann...
25.02.2017, 03:01
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