simd

Pliki nagłówkowe dla x86 SIMD

Które pliki nagłówkowe zapewniają wewnętrzne elementy dla różnych rozszerzeń zestawów instrukcji x86 SIMD (MMX, SSE, AVX, ...)? Wydaje się niemożliwe, aby znaleźć taką listę w Internecie. Popraw mnie, jeśli się mylę.

Pierwsze kroki z instrukcjami Intel X86 SSE SIMD

Chcę dowiedzieć się więcej o używaniu SSE . Czego można się nauczyć, poza oczywistym czytaniem podręczników programisty Architektur Intel® 64 i IA-32 ? Głównie interesuje mnie praca z wbudowanymi funkcjami GCC X86.

SSE intrinsic functions reference [zamknięta]

Czy ktoś wie o referencji wymieniającej działanie funkcji wewnętrznych SSE dla gcc, czyli funkcji w pliki nagłówkowe? Dzięki.

Jak określić, czy pamięć jest wyrównana?

Jestem nowy w optymalizacji kodu za pomocą instrukcji SSE/SSE2 i do tej pory nie zaszedłem zbyt daleko. Według mojej wiedzy p ... iepodpisanych pamięć do rejestrów SSE wydaje się być strasznie wolna (nawet wolniejsza niż zwykły kod C). Z góry dziękuję...

Czego brakuje/nie jest optymalna w tej implementacji memcpy?

Zainteresowało mnie napisanie memcpy() jako ćwiczenie edukacyjne. Nie będę pisał całego Traktatu o tym, co zrobiłem i o czym ... e nie jest potrzebny do buforowania docelowej lokalizacji) powinny być przydatne do kopiowania większych buforów. (@Zboson)

Dlaczego wektoryzacja pętli nie ma poprawy wydajności

Badam wpływ wektoryzacji na wydajność programu. W związku z tym napisałem następujący kod: #include <stdio.h> #includ ... go cyklu, aby ukończyć iterację po skompilowaniu z -O2. [18]}PS: mój komputer to MacBook Pro core i5 @2.5 GHz (dwurdzeniowy)

ARM Cortex-A8: Jaka jest różnica między VFP a neonem

W procesorze ARM Cortex-A8 rozumiem czym jest NEON, jest to współprocesor SIMD. Ale czy jednostka VFP (Vector Floating Point ... IMD (Single Instruction Multiple Data)." To tak nie do końca jasne w co wierzyć, czy ktoś może rozwinąć więcej na ten temat?

Dobra przenośna biblioteka SIMD [zamknięta]

Czy ktoś może polecić przenośną bibliotekę SIMD, która udostępnia API c / C++, działa na rozszerzeniach Intel i AMD oraz Visu ... kompilacją i linkowaniem ich biblioteki i ich fora są kompletnie martwe. Czy komuś udało się gdzieś użyć Framewave? Dzięki.

Równoległe dla vs omp simd: kiedy używać każdego?

OpenMP 4.0 wprowadza nowy konstrukt o nazwie "omp simd". Jakie są korzyści z używania tej konstrukcji w stosunku do starego "parallel for"? Kiedy każdy byłby lepszym wyborem? Edytuj: Oto interesujący Artykuł związany z dyrektywą SIMD.

C++ SSE SIMD framework [zamknięty]

Czy ktoś zna otwartoźródłową bibliotekę C++ x86 SIMD? Intel dostarcza dokładnie to, czego potrzebuję w ich zintegrowanej bi ... e. EDIT Znam już wewnętrzne elementy dostarczane przez kompilatory. Potrzebuję wygodnego interfejsu, by z nich korzystać.

Jak wektoryzować z gcc?

Seria V4 kompilatora gcc może automatycznie wektoryzować pętle za pomocą procesora SIMD na niektórych nowoczesnych procesorach, takich jak AMD Athlon lub Intel Pentium/Core. Jak to się robi?

Wydajność matematyczna Haskell na operacji multiply-add

Piszę grę w Haskell, a moja obecna przepustka w interfejsie wymaga dużo proceduralnego generowania geometrii. Obecnie koncent ... else putStrLn $ name ++ " did not compile" main = do mapM_ (uncurry runCCmd) $ permfold prepCmd cBase cOptions

Odejmowanie spakowanych 8-bitowych liczb całkowitych w 64-bitowej liczbie całkowitej przez 1 równolegle, SWAR bez sprzętowego SIMD

Jeśli mam 64-bitową liczbę całkowitą, którą interpretuję jako tablicę spakowanych 8-bitowych liczb całkowitych z 8 elementami ... dla rozwiązania w C lub C++, które jest dość przenośne lub tylko teoria za nim, więc mogę zaimplementować własne rozwiązanie.

Wspólne techniki SIMD

Gdzie mogę znaleźć informacje o popularnych sztuczkach SIMD? Mam zestaw instrukcji i wiem, jak napisać nietrudny kod SIMD, al ... hnik SIMD też są dobre:) ARMv6 jest najbardziej ciekawe dla mnie, ale x86 (SSE,...) / Neon (W ARMv7) / inne też są dobre.

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?

Jakieś rozszerzenia Lispu dla CUDA?

Właśnie zauważyłem, że jednym z pierwszych języków dla Connection-Machine W. D. Hillisa był * Lisp, rozszerzenie Common Lispu ... alna. Jak na razie oprócz nVidia SDK dla C / C++, znalazłem tylko PyCUDA, środowisko Pythona. Czy ktoś słyszał coś o Lispie?

GCC nie optymalizuje aligned STD:: array like C array

Oto kod, którego GCC 6 i 7 nie optymalizują podczas używania std::array: #include <array> static constexpr size_t my ... ie występuje. Jeśli używasz Clang, problem nie występuje. Możesz zobaczyć to na żywo tutaj: https://godbolt.org/g/IXIOst

Czy R wykorzystuje SIMD podczas wykonywania wektorowych obliczeń?

Dane takie jak w R: +---+---+ | X | Y | +---+---+ | 1 | 2 | | 2 | 4 | | 4 | 5 | +---+---+ Jeśli wektoryzowana operacja je ... u optymalizacji wydajności? Wydaje się, że to idealny przypadek, ale nie mogę znaleźć niczego, co potwierdzi moje przeczucie.

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ć?

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