Domanda

sto cercando di ottimizzare alcuni aritmetica utilizzando i set di istruzioni MMX e SSE con linea di assemblaggio. Tuttavia, sono stato in grado di trovare buone referenze per i tempi e gli usi di questi set di istruzioni avanzate. La prego di aiutarmi a trovare riferimenti che contengono informazioni sui di throughput, la latenza, operandi e descrizioni brevi, forse delle istruzioni?

Finora, ho trovato:

Intel istruzioni Riferimenti Intel 64 e IA-32 Manuale Architetture dello sviluppatore: Vol. 2A e Intel 64 e IA-32 Manuale Architetture dello sviluppatore: Vol. 2B

Guida Intel Ottimizzazione http://www.intel.com/Assets/PDF/manual/248966.pdf

Tempi di Integer Operations http://gmplib.org/~tege/x86-timing.pdf

È stato utile?

Soluzione

L'Istruzione di riferimento Intel dovrebbe fornire una guida adeguata a ciò che queste istruzioni effettivamente fare, avrei pensato? Ha pseudocodice per ognuno, una descrizione del suo funzionamento, e in alcuni casi anche un piccolo schema di un caso rappresentativo.

Per sincronizzazioni, non c'è nessuna guida ufficiale che io sappia. Pagina di Agner Fog è lo standard di riferimento:

http://www.agner.org/optimize/

Altri suggerimenti

Il intrinseca Guida di Intel (in basso a sinistra della pagina AVX), è una struttura ben organizzata strumento per la ricerca, in cui è possibile restringere il campo dalla versione SSE e / o tipo di istruzione, ad esempio, FP aritmetica o Integer logico.

Per ogni istruzione, ma anche mostra una latenza / rendimento tabella dalla CPU e dai parametri.

I tempi sono nella "Intel Optimization Guide"; vedere l'Appendice C per il throughput e latenza per ogni istruzione per architettura della CPU.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top