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.
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
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,
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
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
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
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
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
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;
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
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
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,
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
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
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
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
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
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,
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?
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
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
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
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
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
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);
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
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
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){
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
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
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
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
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
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
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
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