Erste Schritte mit SSE
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 der Arbeit mit den GCC X86 Built-in-Funktionen.
InformationsquelleAutor der Frage Liran Orevi | 2009-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, die ich nicht empfehlen auf die Verwendung der built-in-Funktionen - Sie sind nicht tragbar (über Compilern der gleichen Architektur).
Verwenden die systeminterne FunktionenGCC macht einen wunderbaren job Optimierung SSE Interna in noch mehr optimierten code. Sie können immer einen Blick auf die Versammlung und sehen, wie Sie mit SSE, um das volle Potenzial.
Interna einfach nur wie normale Funktionsaufrufe:
Natürlich gibt es viel mehr Möglichkeiten, SSE ist wirklich mächtig und meiner Meinung nach relativ leicht zu erlernen.
InformationsquelleAutor der Antwort LiraNuna
Seit Ihr gefragt für Ressourcen:
Ein praktischer Leitfaden für die Verwendung von SSE mit C++: Guter überblick über das Konzept zur Verwendung der SSE-effektiv, mit Beispielen.
MSDN Auflistung von Compiler-Interna: Umfassende Referenz für alle Ihre intrinsischen Bedürfnisse. Es ist, MSDN, aber so ziemlich alle Interna hier aufgelistet die unterstützt werden von GCC und ICC als gut.
Christopher Wright SSE-Seite: Schnelle Referenz auf die Bedeutung der SSE-opcodes. Ich denke, die Intel-Handbücher können, dienen die gleiche Funktion, doch dieser ist schneller.
Wahrscheinlich ist es am besten zu schreiben, die meisten Ihrer code-Interna, aber überprüfen Sie die objdump deine compiler-Ausgabe, um sicherzustellen, dass es die Herstellung von effizienten code. SIMD-code-Generierung ist immer noch eine relativ neue Technologie und es ist sehr gut möglich, dass der compiler könnte es falsch in einigen Fällen.
InformationsquelleAutor der Antwort int3
Ich finde Dr. Agner Fog Forschung & optimization-guides sehr wertvoll! Er hat auch einige Bibliotheken & Test-tools, habe ich noch nicht ausprobiert.
http://www.agner.org/optimize/
InformationsquelleAutor der Antwort tomByrer