Juste comme ca, GNU/Linux doit deja utiliser l'unite vectorielle dans les bibliotheques de codec (ffmpeg, ...). Peut-etre est-il aussi present dans le code de ton driver graphique.
Mais il faut bien voir que le gain, a part dans les filtres photoshop de benchmark, est tres peu important et cela pour pas mal de rainson. Principalement parce qu'il y a souvent peu de parallelisme dans un code a part lors de calcul mathematique intensif. Ainsi meme en crypto le vectoriel ne sert que quand tu veux casser du code (en cassant plusieur clef en simultannee), mais pas lorsque tu etablies une session SSL avec ton serveur preferre.
Enfin, il faut bien voir qu'aujourd'hui, une grande partie du code qui pourrait etre vectorise, se fait au niveau du materiel (carte son, carte 3D, ...). Il y a de moins en moins de place pour utiliser ces technos a part dans les codecs et la, vu le chemin que prend NVidia et ATI, il y a des chances que cela soit bientot gere principalement en hardware aussi.
Il faut se mefier un peu de l'argumentaire marketing qui nous vend l'altivec comme si c'etait le saint grale (meme remarque pour MMX et consort). Il y a pas mal de cout a utiliser la vectorisation dans du code, tout d'abord, il faut transformer tes donnees en paquet pour qu'elle puisse etre traite, puis enfin les desempaqueter. Forcement, il y a un surcout.
Ce qui est drole, c'est quand utilisant ICC, on se rend compte partiellement du probleme, la plus part du temps, seul les boucles d'initialisations sont vectorisable (pas de conditions, une repetition evidente, peu ou pas de phase d'empaquetage/desempaquetage, ...).
Personnellement, je vois ca plus comme du fignolage que comme quelque chose qui va augmenter tes perfs par un facteur 4...
# La magie...
Posté par cedric . En réponse au journal l'autovectorisation est en route !. Évalué à 9.
Mais il faut bien voir que le gain, a part dans les filtres photoshop de benchmark, est tres peu important et cela pour pas mal de rainson. Principalement parce qu'il y a souvent peu de parallelisme dans un code a part lors de calcul mathematique intensif. Ainsi meme en crypto le vectoriel ne sert que quand tu veux casser du code (en cassant plusieur clef en simultannee), mais pas lorsque tu etablies une session SSL avec ton serveur preferre.
Enfin, il faut bien voir qu'aujourd'hui, une grande partie du code qui pourrait etre vectorise, se fait au niveau du materiel (carte son, carte 3D, ...). Il y a de moins en moins de place pour utiliser ces technos a part dans les codecs et la, vu le chemin que prend NVidia et ATI, il y a des chances que cela soit bientot gere principalement en hardware aussi.
Il faut se mefier un peu de l'argumentaire marketing qui nous vend l'altivec comme si c'etait le saint grale (meme remarque pour MMX et consort). Il y a pas mal de cout a utiliser la vectorisation dans du code, tout d'abord, il faut transformer tes donnees en paquet pour qu'elle puisse etre traite, puis enfin les desempaqueter. Forcement, il y a un surcout.
Ce qui est drole, c'est quand utilisant ICC, on se rend compte partiellement du probleme, la plus part du temps, seul les boucles d'initialisations sont vectorisable (pas de conditions, une repetition evidente, peu ou pas de phase d'empaquetage/desempaquetage, ...).
Personnellement, je vois ca plus comme du fignolage que comme quelque chose qui va augmenter tes perfs par un facteur 4...