2012-11-27 3 views
25

Gibt es gute C/C++ - Lernprogramme oder Beispiele zum Erlernen von Intel SSE- und AVX-Anweisungen?Intel SSE und AVX Beispiele und Lernprogramme

Ich fand einige auf Microsoft MSDN und Intel-Sites, aber es wäre toll, es von den Grundlagen zu verstehen ..

+2

Siehe meine Zusammenfassung auf SIMD hier http://stackoverflow.com/questions/20933746/parallel-programming-using-haswell-architecture/20948208#20948208 –

+0

Es gibt einige Links im [SSE-Tag-Wiki] (https://stackoverflow.com/tags/sse/info). Vor allem [SIMD bei Insomniac Games (GDC 2015) Folie] (https://deplinenoise.wordpress.com/2015/03/06/slides-simd-at-insomniac-games-gdc-2015/) sind nett und haben etwas Gutes Dinge über das Auslegen Ihrer Daten für SIMD. (Verwenden Sie also keinen SIMD-Vektor als 3D-xyz-Vektor und geben Sie SIMD dann nicht auf, weil es nicht schneller war.) –

Antwort

2

Es gibt eine schöne Einführung hier

Code project SSE

Auch wenn Sie Microsoft DirectX SDK installiert haben, die Quelle, aus xnamath hat viel Vektor/Matrix-Operationen mit sse intrinsics (Check im sdk gehören Ordner, xnamath. h, xnamathconvert.inl, xnamathmatrix.inl ...)

11

Für den visuell geneigten SIMD-Programmierer ist Stefano Tommesanis Website der beste Einstieg in die x86-SIMD-Programmierung.

http://www.tommesani.com/index.php/simd/46-sse-arithmetic.html

Die Diagramme sind nur für MMX und SSE2 zur Verfügung gestellt, aber wenn ein Lernender mit SSE2 geübt wird, ist es relativ einfach, die formalen Spezifikationen auf und lesen zu bewegen.


Intel IA-32-Befehle mit A bis M beginnend

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2a-manual.pdf

Intel IA-32-Befehle mit N bis Z beginnend

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2b-manual.pdf


Zusätzlich Es ist wichtig für Intel SIMD-Programm rs, um die minimal erforderliche Architektur für Anweisungen zu kennen, die sich außerhalb der SSE2-Generation befinden.

Browsing von Generationen auf Wikipedia:

für einen Intel SIMD Suche gegeben mnemonic auf einer einzigen Seite (über einen Text Suche):