Et si le code n'est pas vectorisable (plein de "if" qui se baladent, par exemple)?
Avec les masques SIMD et les instructions gather / scatter, même si ton code branche (pas trop excessivement), il peut se vectoriser correctement de nos jours.
C'est d'ailleurs l'astuce utilisé par CUDA / les backend OpenCL pour gérer correctement le branching sur des architectures SIMT.
[^] # Re: HT et performances...
Posté par Firwen (site web personnel) . En réponse au journal Rumeurs sur l'hyper-threading - TLBleed. Évalué à 2. Dernière modification le 26 juin 2018 à 10:02.
Avec les masques SIMD et les instructions gather / scatter, même si ton code branche (pas trop excessivement), il peut se vectoriser correctement de nos jours.
C'est d'ailleurs l'astuce utilisé par CUDA / les backend OpenCL pour gérer correctement le branching sur des architectures SIMT.