Suchergebnisse für Anfrage "avx"
Die Indizes von Nicht-Null-Bytes eines SSE / AVX-Registers
Wenn der Wert eines SSE / AVX-Registers so ist, dass alle seine Bytes entweder 0 oder 1 sind, gibt es eine Möglichkeit, die Indizes aller Nicht-Null-Elemente effizient abzurufen? Zum Beispiel, wenn der xmm-Wert | ist r0 = 0 | r1 = 1 | r2 = 0 | ...
Was sind die besten Befehlssequenzen, um Vektorkonstanten im laufenden Betrieb zu generieren?
"Best" bedeutet die wenigsten Anweisungen (oder die wenigsten Uops, wenn Anweisungen zu mehr als einem Uop decodieren). Die Größe des Maschinencodes in Bytes ist ein Leistungsmerkmal für die gleiche Anzahl von Eingaben. Konstante Generierung ...
Laden von 8 Zeichen aus dem Speicher in eine __m256-Variable als gepackte Gleitkommazahlen mit einfacher Genauigkeit
Ich optimiere einen Algorithmus für die Gaußsche Unschärfe in einem Bild und möchte die Verwendung eines Float-Puffers [8] im folgenden Code durch eine intrinsische Variable __m256 ersetzen. Welche Anweisungsreihe eignet sich am besten für diese ...
Automatisches Generieren von FMA-Anweisungen in MSVC
MSVC unterstützt seit Jahren AVX / AVX2-Anweisungen und entsprichtdieser msdn-Blogbeitrag [http://blogs.msdn.com/b/vcblog/archive/2014/02/28/avx2-support-in-visual-studio-c-compiler.aspx] , es kann automatisch @ erzeug fused-multiply-add ...
Wie schreibe ich C ++ - Code, den der Compiler effizient in SSE oder AVX kompilieren kann?
Nehmen wir an, ich habe eine in c ++ geschriebene Funktion, die Matrixvektormultiplikationen mit vielen Vektoren ausführt. Es wird ein Zeiger auf das zu transformierende Array von Vektoren benötigt. Kann ich zu Recht davon ausgehen, dass der ...
Wie löse ich das 32-Byte-Alignment-Problem für AVX-Lade- / Speichervorgänge?
Ich habe ein Ausrichtungsproblem bei der Verwendung vonymm registriert, mit ein paar Codefragmenten, die mir in Ordnung erscheinen. Hier ist ein minimales Arbeitsbeispiel: #include <iostream> #include <immintrin.h> inline void ones(float *a) { ...
Wie viele Taktzyklen kosten die AVX / SSE-Exponentiation auf einer modernen x86_64-CPU?
Wie viele Taktzyklen kosten die AVX / SSE-Exponentiation auf einer modernen x86_64-CPU? Ich bin über:pow(x, y) = exp(y*log(x)) [https://stackoverflow.com/questions/25936031/pow-for-sse-types] D. tue beidesexp() undlog() AVX x86_64-Anweisungen ...
Sind verschiedene mmx-, sse- und avx-Versionen komplementär oder übergeordnet?
Ich denke, ich sollte mich mit x86-SIMD-Erweiterungen vertraut machen. Aber bevor ich überhaupt angefangen habe, bin ich in Schwierigkeiten geraten. Ich kann keine gute Übersicht darüber finden, welche davon noch relevant sind. Die ...
Sortieren von 64-Bit-Strukturen mit AVX?
Ich habe eine 64-Bit-Struktur, die mehrere Datenelemente darstellt, von denen eines ein Gleitkommawert ist: struct MyStruct{ uint16_t a; uint16_t b; float f; }; und ich habe vier dieser Strukturen in, sagen wir einstd::array<MyStruct, 4> ist es ...
Ausgerichteter und nicht ausgerichteter Speicherzugriff mit AVX / AVX2 intrinsics
Laut Intel Software Developer Manual (Abschnitt 14.9) hat AVX die Ausrichtungsanforderungen für Speicherzugriffe gelockert. Wenn Daten direkt in eine Verarbeitungsanweisung geladen werden, z. B. vaddps ymm0,ymm0,YMMWORD PTR [rax] Die ...