Tag: simd

Single instruction, multiple data (SIMD) ist das Konzept, dass jede Anweisung, den Betrieb auf ein kleines Stück, oder ein Vektor, der die Daten-Elemente. CPU-vector instruction sets enthalten: x86-SSE-und AVX -, ARM-NEON-und PowerPC AltiVec. Effizient nutzen zu können, SIMD-Befehle, – Daten müssen in der Struktur von arrays bilden und sollten auftreten, in mehr streams. Naiv „SIMD-optimierte code Häufig überraschungen durch die langsamer ausgeführt als das original.

SSE: konvertieren short integer zu float

Anzahl der Antworten 2 Antworten
Ich konvertieren möchten, die ein array von unsigned short zahlen zu schweben SSE verwenden. Lassen Sie uns sagen, __m128i xVal; //Has 8 16-bit unsigned integers __m128 y1, y2; //2 xmm registers for 8 float values Ich soll

Wie kann ich den Austausch der low-128-bits und eine hohe 128-bit-in eine 256-bit AVX (YMM) registrieren

Anzahl der Antworten 2 Antworten
Ich bin Portierung SSE SIMD-code für die Verwendung der 256-bit-AVX-Erweiterungen und kann nicht scheinen zu finden, eine Anweisung, die Mischung wird/shuffle/bewegen Sie die hohe 128-bit-und die low-128 bits. Backing-Geschichte: Was ich wirklich will, ist VHADDPS/_mm256_hadd_ps zu handeln,

Wie findet man die maximale horizontale in eine 256-bit-AVX-Vektor

Anzahl der Antworten 3 Antworten
Ich habe ein __m256d Vektor verpackt mit vier 64-bit-floating-point-Werte. Ich muss die horizontale maximale von der vector-Elemente und speichert das Ergebnis in einer double-precision-skalaren Wert; Meine versuche wurden alle mit einer Menge von schlurfenden der vector-Elemente, so

SIMD-Präfix Summe auf Intel-cpu

Anzahl der Antworten 3 Antworten
Muss ich implementieren Sie eine prefix-sum-Algorithmus und würde es brauchen, um so schnell wie möglich sein. Ex: [3, 1, 7, 0, 4, 1, 6, 3] should give [3, 4, 11, 11, 15, 16, 22, 25] Gibt es

CPU SIMD-vs. GPU-SIMD?

Anzahl der Antworten 2 Antworten
GPU verwendet, die SIMD Paradigma, das heißt, den gleichen Teil des Codes parallel ausgeführt werden, und angewendet, um verschiedene Elemente eines Datensatzes. Jedoch, CPU auch nutzt SIMD, und bieten instruction-level parallelism. Zum Beispiel, soweit ich weiß, SSE-Anweisungen

SIMD math-Bibliotheken für die SSE-und AVX

Anzahl der Antworten 2 Antworten
Ich bin auf der Suche nach SIMD math-Bibliotheken (vorzugsweise open source) für die SSE-und AVX. Ich meine zum Beispiel wenn ich eine AVX-register v mit 8 float-Werte will ich sin(v), um die Sünde aller acht Werte auf

SSE (SIMD): Multiplikation Vektor mit skalaren

Anzahl der Antworten 3 Antworten
Einen gemeinsamen Betrieb, die ich tun in meinem Programm ist die Skalierung der Vektoren durch Skalare (V*s, z.B. [1,2,3,4]*2 == [2,4,6,8]). Gibt es eine SSE (oder AVX) die Anweisung, etwas zu tun, als der erste laden der

Wie schnell können Sie lineare Suche?

Anzahl der Antworten 20 Antworten
Ich bin auf der Suche um dies zu optimieren, lineare Suche: static int linear (const int *arr, int n, int key) { int i = 0; while (i < n) { if (arr [i] >= key) break;

Intel AVX: 256-bit-version von dot-Produkt für double-precision-floating-point-Variablen

Anzahl der Antworten 3 Antworten
Intel Advanced Vector Extensions (AVX) bietet keine Skalarprodukt in der 256-bit version (YMM-register) für die double-precision-floating-point-Variablen. Das "Warum?" - Frage wurden nur sehr kurz behandelt, in einem anderen forum (hier) und auf Stack Overflow (hier). Aber die Frage

Erste Schritte mit Intel x86-SSE SIMD-Befehle

Anzahl der Antworten 4 Antworten
Ich will lernen, mehr über die Verwendung der SSE. Welche Möglichkeiten gibt es, um zu lernen, neben den offensichtlichen Lesen der Die Intel® 64 und IA-32 Architectures Software Developer ' s Manuals? Hauptsächlich bin ich interessiert an

Wie Berechne Vektor-Skalarprodukt SSE Verwenden Intrinsische Funktionen in C

Anzahl der Antworten 4 Antworten
Ich versuche multiplizieren von zwei Vektoren zusammen, wo jedes element des einen Vektors multipliziert mit dem element in der gleichen index auf den anderen Vektor. Dann möchte ich die Summe aller Elemente des resultierenden Vektors zu erhalten,

Wie kompilieren Sie Tensorflow mit SSE4.2-und AVX-Anweisungen?

Anzahl der Antworten 11 Antworten
Dies ist die empfangene Nachricht ein Skript ausgeführt, um zu überprüfen, ob Tensorflow arbeitet: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0

AVX2, was ist der effizienteste Weg, um pack-Links basiert auf einer Maske?

Anzahl der Antworten 4 Antworten
Wenn Sie ein Eingabe-array und ein output-array ist, aber Sie wollen nur schreiben diejenigen Elemente, welche durch eine bestimmte Bedingung, was wäre der effizienteste Weg, dies zu tun in AVX2? Ich habe gesehen, in der SSE, wo

Mit SSE in C#

Anzahl der Antworten 2 Antworten
Ich bin derzeit auf der Codierung eine Anwendung in C#, die profitieren könnten viel aus der Verwendung von SSE, als ein relativ kleines Stück code bewirkt, dass 90-95% der Ausführungszeit. Der code selbst ist auch perfekt für

Wie zu verwenden Eigen, die C++ - template-Bibliothek für lineare algebra?

Anzahl der Antworten 2 Antworten
Habe ich ein Bildverarbeitungs-Algorithmus, wodurch der Matrizen, ich habe meinen eigenen Betrieb der matrix-codes (Multiplikation, Inverse,...) mit mir. Aber der Prozessor, den ich verwende, ist ein ARM Cortex-A8-Prozessor, der hat NEON co-Prozessor für Vektorisierung, als matrix Operationen

Anzahl der "Compute" - Einheiten entsprechend der Anzahl an Arbeitsgruppen

Anzahl der Antworten 2 Antworten
Ich brauche einige Klarstellungen. Ich bin die Entwicklung von OpenCL auf meinem laptop läuft ein kleines nvidia-GPU (310M). Wenn ich die Abfrage das Gerät für CL_DEVICE_MAX_COMPUTE_UNITS, das Ergebnis ist 2. Ich Las die Zahl von Arbeitsgruppen für

Tun alle 64-bit-intel-Architekturen unterstützt SSSE3/SSE4.1/SSE4.2 Anweisungen?

Anzahl der Antworten 1 Antworten
Habe ich gesucht, die auf web-und intel Software-Handbuch . Aber bin nicht in der Lage zu bestätigen, wenn alle Intel 64-Architekturen unterstützen bis zu SSSE3 oder bis zu SSE4.1 oder bis zu SSE4.2 oder AVX etc. Also,

Wie die Multiplikation und addition-Interna in ARM-Cortex-a8?

Anzahl der Antworten 3 Antworten
wie die Verwendung der Multiplikations-akkumulations-Interna von GCC? float32x4_t vmlaq_f32 (float32x4_t , float32x4_t , float32x4_t); Kann mir jemand erklären, was die drei Parameter ich übergeben muss dieser Funktion. Ich meine die Quell-und Ziel-Registern und was die Funktion zurückgibt?

Am schnellsten horizontale Vektor-Summe mit AVX-Instruktionen

Anzahl der Antworten 3 Antworten
Habe ich eine gepackte Vektor von vier 64-bit-floating-point-Werte. Ich möchte die Summe der Vektor-Elemente. Mit SSE (und mit 32-bit floats) konnte ich nur Folgendes tun: v_sum = _mm_hadd_ps(v_sum, v_sum); v_sum = _mm_hadd_ps(v_sum, v_sum); Leider, obwohl AVX verfügt

Sollte ich die SIMD-oder vector extensions oder etwas anderes?

Anzahl der Antworten 3 Antworten
Ich bin derzeit auf der Entwicklung eines open-source-3D-Anwendung framework im c++ (mit c++11). Meine eigene Mathematik-Bibliothek ist konzipiert wie die XNA math-Bibliothekauch mit SIMD in den Sinn. Aber derzeit ist es nicht wirklich schnell, und es hat

c++ SSE SIMD framework

Anzahl der Antworten 8 Antworten
Kennt jemand ein open-source-C++ x86-SIMD-Interna-Bibliothek? Intel liefert genau das, was ich in den integrated performance primitives-Bibliothek, aber kann ich nicht benutzen, weil die Urheber-und alle über dem Platz. BEARBEITEN Ich weiß schon, die systeminterne Funktionen, sofern vom

Wie Vektorisieren mit gcc?

Anzahl der Antworten 2 Antworten
V4-Serie der gcc compiler automatisch Vektorisieren Schleifen mit der SIMD Prozessor auf einige moderne CPUs wie der AMD Athlon-oder Intel Pentium - /Core-chips. Wie wird das gemacht? InformationsquelleAutor der Frage casualcoder | 2009-01-03

SSE Multiplikation von 4 32-bit-Ganzzahlen

Anzahl der Antworten 2 Antworten
Wie vermehre vier 32-bit-Ganzzahlen, die durch weitere 4 Ganzzahlen? Ich fand keine Anweisung, die es tun können. InformationsquelleAutor der Frage Yury | 2012-05-08

drucken __m128i variable

Anzahl der Antworten 4 Antworten
Ich versuche zu lernen, um code mit Interna und unten ist ein code der nicht neben compiler used: icc #include<stdio.h> #include<emmintrin.h> int main() { __m128i a = _mm_set_epi32(1,2,3,4); __m128i b = _mm_set_epi32(1,2,3,4); __m128i c; c = _mm_add_epi32(a,b);

Durchführung von __builtin_clz

Anzahl der Antworten 2 Antworten
Was die Umsetzung der GCC (4.6+) __builtin_clz? Entspricht es einige CPU-Instruktion auf Intel x86_64 (AVX)? InformationsquelleAutor der Frage Cartesius00 | 2012-02-19

Gut tragbar SIMD-Bibliothek

Anzahl der Antworten 5 Antworten
kann jemand empfehlen, portable SIMD-Bibliothek, die eine c/c++ - API, arbeitet auf Intel-und AMD-Erweiterungen und Visual Studio, GCC kompatibel. Ich bin auf der Suche, um die Geschwindigkeit Dinge wie die Skalierung eine 512x512-array von doubles. Vektor-dot-products, matrix-Multiplikation

Wie ermittelt man, ob Speicher ausgerichtet ist?

Anzahl der Antworten 7 Antworten
Ich bin neu in der Optimierung von code mit SSE/SSE2 Anweisungen und bis jetzt habe ich nicht bekommen, sehr weit. Meines Wissens eine gemeinsame SSE-optimierte Funktion würde wie folgt Aussehen: void sse_func(const float* const ptr, int len){

Wie man Tensorflow mit SSE4.2 und AVX Anweisungen kompiliert?

Anzahl der Antworten 11 Antworten
Dies ist die empfangene Nachricht ein Skript ausgeführt, um zu überprüfen, ob Tensorflow arbeitet: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0

Header-Dateien für x86-SIMD-Intrinsics

Anzahl der Antworten 5 Antworten
Welche header-Dateien bieten die systeminterne Funktionen für die verschiedenen x86-SIMD-Befehlssatz-Erweiterungen (MMX, SSE, AVX, ...)? Es scheint unmöglich zu finden, so eine Liste online. Korrigieren Sie mich, wenn ich falsch bin. InformationsquelleAutor der Frage fredoverflow | 2012-06-27

SSE intrinsische Funktionen Referenz

Anzahl der Antworten 5 Antworten
Kennt jemand einen Verweis auf die Auflistung der Betrieb der SSE intrinsische Funktionen für den gcc, also den Funktionen, die in den <*mmintrin.h> header-Dateien? Dank. InformationsquelleAutor der Frage NGaffney | 2011-08-23

Erste Schritte mit SSE

Anzahl der Antworten 3 Antworten
Ich will lernen, mehr über die Verwendung der SSE. Welche Möglichkeiten gibt es, um zu lernen, neben den offensichtlichen Lesen der Die Intel® 64 und IA-32 Architectures Software Developer ' s Manuals? Hauptsächlich bin ich interessiert an

ARM Cortex-A8: Was ist der Unterschied zwischen VFP und NEON?

Anzahl der Antworten 4 Antworten
In ARM-Cortex-A8-Prozessor, ich verstehe, was NEON ist, ist es eine SIMD-co-Prozessor. Aber ist die VFP(Vector-Floating-Point-Einheit, die auch ein co-Prozessor, arbeitet als SIMD-Prozessor? Wenn ja, welches ist besser? Lese ich paar links, wie - Link1 Link2. Aber nicht

So verschieben Sie 128-Bit-Immediate in XMM-Register

Anzahl der Antworten 5 Antworten
Gibt es schon eine Frage auf diese, aber es war geschlossen als "mehrdeutig" also, ich bin eine neue zu öffnen - ich habe die Antwort gefunden, vielleicht hilft es anderen auch. Die Frage ist: wie schreibt man

Mitglieder von __m128 per Index erhalten?

Anzahl der Antworten 4 Antworten
Habe ich einige code, ursprünglich hat mir jemand die Arbeit mit MSVC, und ich bin versucht, es zu erhalten zu arbeiten auf Clang. Hier ist die Funktion, dass ich Probleme habe mit: float vectorGetByIndex( __m128 V, unsigned

Parallel für vs omp simd: wann jedes zu verwenden?

Anzahl der Antworten 3 Antworten
OpenMP 4.0 führt ein neues Konstrukt namens "omp simd". Was ist der Vorteil der Verwendung dieses Konstrukts über die alte "parallel"? Wenn jeder eine bessere Wahl über die anderen? BEARBEITEN: Hier ist eine interessante Papier im Zusammenhang