Intel SSE et AVX des Exemples et des Tutoriels
Est-il un bon C/C++ tutoriels ou des exemples pour l'apprentissage Intel SSE et instructions AVX?
J'ai trouvé quelques sur MSDN de Microsoft et d'Intel sites, mais il serait bien de comprendre les principes de base..
- Voir mon résumé sur SIMD ici stackoverflow.com/questions/20933746/...
- Il y a quelques liens dans le l'ESS balise wiki. En particulier SIMD à Insomniac Games (GDC 2015) faites glisser sont sympas et ont de bonnes choses à propos de la pose de vos données pour SIMD. (c'est à dire ne pas utiliser un SIMD vecteur 3D xyz vecteur puis renoncer à SIMD parce qu'il n'était pas plus rapide.)
Vous devez vous connecter pour publier un commentaire.
Pour les déficients enclins SIMD programmeur, Stefano Tommesani du site est la meilleure introduction à x86 SIMD de programmation.
http://www.tommesani.com/index.php/simd/46-sse-arithmetic.html
Les diagrammes ne sont fournies pour MMX et SSE2, mais une fois que l'apprenant devient compétent avec SSE2, il est relativement facile de se déplacer sur et lire les spécifications formelles.
Intel IA-32 Instructions commençant par Un M
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 Instructions commençant par N à Z
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2b-manual.pdf
En outre, il est important pour Intel SIMD programmeurs de savoir le minimum requis architecture pour des instructions qui sont à l'extérieur de la SSE2 génération.
De navigation par des générations sur Wikipédia:
Recherche un Intel SIMD mnémonique sur une seule page (via une recherche dans le texte):
Il y a une belle introduction ici
Projet de Code de l'ESS
Aussi, si vous avez Microsoft DirectX SDK installé, la source de xnamath a beaucoup de vecteur/matrice opérations à l'aide de l'ess intrinsèques (vérifiez dans le sdk inclure le dossier, xnamath.h, xnamathconvert.inl, xnamathmatrix.inl ...)
Il y a quelques bons trucs Le site des développeurs d'Apple, par exemple ESS Performances de Programmation.
Vous trouverez peut-être utile de regarder des exemples de la façon dont SIMD peut être appliquée à certaines des algorithmes. Au Games Developer Conference 2011, il y avait un processeur Intel discours appelé Les "points chauds, FLOPS, et uOps: À-la-Métal Optimisation du CPU" qui tente de démontrer SIMD pour les algorithmes commun dans les jeux. Le discours se réfère à une certaine Intel exemple de code qui montre comment AVX peut être appliqué sur un linge de calculs.