Auto-vectorisation

L'auto-vectorisation est une technique de compilation de langage de programmation, permettant d'adapter automatiquement des boucles de fonctions traitant des vecteurs, ou, plus généralement, des matrices, à un processeur vectoriel ou bien un SIMD. On appelle plus généralement, le fait d'adapter des traitements à des processeurs vectoriels, de façon manuelle ou automatique, une vectorisation.

Le compilateur Gnu GCC utilise des techniques d'auto-vectorisation basées en 2011 sur le framework tree-ssa[1] pour la majorité des SIMD (3DNow!, SSE (et SSE2, SSE3), ARM NEON et l'équivalent d'ARM pour l'embarqué, MVE.

Le compilateur LLVM, supportant les mêmes SIMD, utilise également ce type de technique donnant des résultats meilleurs ou moins bon selon les cas[2].

Liens internes

Liens externes

(en) Automatically Tuned Linear Algebra Software – théorie de l'auto-vectorisation.
(en) Auto-vectorization in GCC (auto-vectorisation dans GCC).
(en) Auto-Vectorization in LLVM (auto-vectorisation dans LLVM).

Notes et références

  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.