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?
- 1
- 2