Suchergebnisse für Anfrage "avx"

2 die antwort

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 ...

2 die antwort

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 ...

4 die antwort

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 | ...

TOP-Veröffentlichungen

2 die antwort

_mm_testc_ps und _mm_testc_pd vs _mm_testc_si128

Wie Sie wissen, handelt es sich bei den ersten beiden um AVX-spezifische Eigenschaften und bei der zweiten um SSE4.1-Eigenschaften. Beide Sätze von Intrinsics können verwendet werden, um die Gleichheit von 2 Gleitkommavektoren zu überprüfen. Mein ...

2 die antwort

Die effizienteste Methode, um __m256 horizontale Summen von 8 __m256 Quellvektoren zu erhalten

Ich weiß, wie man eins summiert__m256, um einen einzelnen summierten Wert zu erhalten. Ich habe jedoch 8 Vektoren wie Input 1: a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], ....., ....., 8: h[0], h[1], h[2], h[3], h[4], a[5], a[6], ...

2 die antwort

Gibt es eine inverse Anweisung zur Movemask-Anweisung in Intel Avx2?

Die Movemask-Anweisung (en) nehmen ein __m256i und geben ein int32 zurück, wobei jedes Bit (entweder die ersten 4, 8 oder alle 32 Bits, abhängig vom Typ des Eingangsvektorelements) das höchstwertige Bit des entsprechenden Vektorelements ...

2 die antwort

Wo ist Clangs '_mm256_pow_ps' immanent?

Ich kann anscheinend weder für _mm_pow_ps noch für _mm256_pow_ps die Eigenheiten finden, die beide in 'immintrin.h' enthalten sein sollen. Definiert Clang diese nicht oder befinden sie sich in einem Header, den ich nicht einbeziehe?

4 die antwort

Schneller Weg, um ein Array von int64_t zu multiplizieren?

Ich möchte die Multiplikation von zwei speicherausgerichteten Arrays vektorisieren. Ich habe keine Möglichkeit gefunden, 64 * 64-Bit in AVX / AVX2 zu multiplizieren, also habe ich nur das Loop-Unroll-Verfahren durchgeführt und AVX2 geladen / ...

8 die antwort

Wie werden Daten aus den AVX-Registern abgerufen?

Mit MSVC 2013 und AVX 1 habe ich 8 Floats in einem Register: __m256 foo = mm256_fmadd_ps(a,b,c);etzt möchte ich @ anrufinline void print(float) {...} für alle 8 Schwimmer. Es sieht aus wie das Intel AVX Intrisics würden dies ziemlich ...

2 die antwort

Neue AVX-Befehlssyntax

Ich hatte einen C-Code mit einigen Intel-Intrinsincs geschrieben. Nachdem ich es zuerst mit avx und dann mit ssse3 Flags kompiliert hatte, bekam ich zwei recht unterschiedliche Assembler-Codes. Z.B AVX: vpunpckhbw %xmm0, %xmm1, %xmm2 ...