sse

Efektywne mnożenie macierzy 4x4 (C vs assembly)

Szukam szybszego i trudniejszego sposobu mnożenia dwóch macierzy 4x4 w C. moje obecne badania koncentrują się na montażu x86- ... ji, których nie jestem świadomy? Czy znasz jakieś narzędzia do montażu x86 - 64 lub triki, które pomogą mi w walce z maszyną?

SSE-copy, AVX-copy i std::wydajność kopiowania

Starałem się poprawić wydajność operacji kopiowania przez SSE i AVX: #include <immintrin.h> const int sz = 1 ... o jest przyczyną wspomnianego efektu spadku wydajności i czy jest to wskazane jest ręczne wektoryzowanie operacji kopiowania?

Czy można porównywać jednostki SSE / AVX z rdzeniami GPU?

Mam prezentację dla osób, które nie mają (prawie) pojęcia jak działa GPU. Myślę, że powiedzenie, że GPU ma tysiąc rdzeni, gdz ... y uzasadnić, dlaczego to porównanie nie powinno być posuwane za daleko, ale CaptainObvious dostarczył bardzo dobre artykuły .

Instrukcje SSE: które procesory mogą wykonywać operacje na pamięci atomic 16B?

Rozważ pojedynczy dostęp do pamięci (pojedynczy odczyt lub pojedynczy zapis, a nie Odczyt+Zapis) Instrukcja SSE na procesorze ... 1175 Not a single memory access! 1101 0 0 1110 0 0 1111 1719 99975389

Optymalizacja kodu GCC SSE

Ten post jest ściśle związany z innym, który napisałem kilka dni temu . Tym razem napisałem prosty kod, który po prostu doda ... niż pierwszy. Zrobiłem również test z pojedynczymi wartościami dokładności i uzyskałem podobne wyniki. Jaki jest tego powód?

Jak porównać dwa wektory za pomocą SIMD i uzyskać pojedynczy wynik logiczny?

Mam dwa wektory po 4 liczby całkowite każdy i chciałbym użyć polecenia SIMD, aby je porównać (powiedzmy wygenerować wektor wy ... tor wyniku do wektora 4 zer i tylko wtedy, gdy są równe zrobić coś. Czy wiesz, jakich poleceń SIMD mogę użyć, aby to zrobić?

Dlaczego mulss wykonuje tylko 3 cykle na Haswell, różni się od tabel instrukcji Agnera? (Rozwijanie pętli FP z wieloma akumulatorami)

Jestem nowicjuszem w optymalizacji instrukcji. Zrobiłem prostą analizę na prostej funkcji dotp, która jest używana do uzyska ... add231ss xmm0, xmm1, DWORD PTR [rsi+rax] add rax, 4 cmp rdx, rax jne .L3 ret

Jakie są najlepsze sekwencje instrukcji do generowania stałych wektorowych w locie?

"najlepsza" oznacza najmniejszą liczbę instrukcji (lub najmniejszą liczbę uops, jeśli jakakolwiek Instrukcja dekoduje się do ... rumieniu instrukcji, ale to zwykle nie jest sensowne (nie oszczędza miejsca i zajmuje dużo miejsca w pamięci podręcznej uop.)

Prefiks SIMD na procesorze Intel

Muszę zaimplementować algorytm sumy prefiksów i musi on być tak szybki, jak to możliwe. Ex: [3, 1, 7, 0, 4, 1, 6, 3] ... r (int i = 1; i<ouput.length; i++){ ouput[i] = (i%2==0) ? (x[i] + ouput[i-1]) : w[(i-1)>>1]; }

Fast 24-bit array - > 32-bit array conversion?

Szybkie Podsumowanie: Mam tablicę 24-bitowych wartości. Jakieś sugestie, jak szybko rozszerzyć poszczególne 24-bitowe eleme ... rów pikseli do równoległości, ale wcześniej muszę wykonać sekwencyjną operację na piksel. Muszę przegapić coś oczywistego...

Jak obliczyć iloczyn wektorowy z wykorzystaniem funkcji wewnętrznych SSE w C

Staram się mnożyć dwa wektory razem, gdzie każdy element jednego wektora jest mnożony przez element w tym samym indeksie na d ... edzi w Google. Uwaga: optymalizuję pod kątem konkretnej mikro architektury, która obsługuje do SSE 4.2. Dzięki za pomoc.

Szybkie zliczanie ilości ustawionych bitów w rejestrze m128i

Powinienem policzyć ilość bitów zbioru rejestru _ _ m128i. W szczególności powinienem napisać dwie funkcje, które są w stanie ... dla każdego bajtu rejestru. Czy istnieją wewnętrzne funkcje, które mogą wykonać, w całości lub częściowo, powyższe operacje?