11.3.1 : Principe de la vectorisation



nothing

Figure 37 : À gauche : opération scalaire. À droite : opération vectorielle.



Les processeurs actuels peuvent, depuis 2004 (voir table 2), effectuer un même calcul sur plusieurs nombres flottants ou entiers en même temps (voir figure 37).

Techniquement, la vectorisation est permise par la duplication des unités de calcul au sein des CPU. Sur certains programmes, cette capacité à effectuer $N$ calculs en même temps (où $N$ dépend de l'architecture) peut être exploitée pour rendre les programmes $N$ fois plus rapides.

Instruction Release First Nb float Nb int
Set Date CPU per instruction per instruction
SSE2 2003 2004 $2$ $1$
SSSE3 2004 2005 $2$ $2$
SSE4.1 2006 2007 $4$ $2$
SSE4.2 2007 2008 $4$ $4$
AVX 2008 2011 $8$ $4$
AVX2 2012 2013 $8$ $8$
AVX 512.1 2013 2016 $16$ $8$
AVX 512.2 2015 2018 $16$ $16$

Table 2 : Évolution des capacités de vectorisation des processeurs Intel[52]Architecture software developer's manual volume 1, 2016.