SVE utilise la prédication pour faire des calculs sur une partie des élements d'un vecteur, notamment utile pour la dernière itération lorsque le nombre d'éléments d'un calcul n'est pas un multiple du nombre d'éléments d'un vecteur. Cela a pour conséquence que la taille d'un registre vectoriel a une limite finie, choisie à 2048 bits pour SVE.
RISC-V n'a pas cette limite, et on peut avoir des registres vectoriels beaucoup plus grands. Cela est avantageux notamment car RISC-V permet de ré-organiser l'espace mémoire de l'unité vectorielle et de réattribuer la mémoire des registres vectoriels inutilisés à d'autres. À noter qu'il n'y a pas forcément autant d'unité de calculs disponibles en hardware que la taille d'un vecteur, mais ces opérations se pipelinent très bien, et du coup il est possible d'utiliser un pipeline in-order tout en restant efficace.
[^] # Re: Et RISC-V?
Posté par Aurélien Jarno (site web personnel) . En réponse à la dépêche Sortie du noyau Linux 5.13. Évalué à 4.
SVE utilise la prédication pour faire des calculs sur une partie des élements d'un vecteur, notamment utile pour la dernière itération lorsque le nombre d'éléments d'un calcul n'est pas un multiple du nombre d'éléments d'un vecteur. Cela a pour conséquence que la taille d'un registre vectoriel a une limite finie, choisie à 2048 bits pour SVE.
RISC-V n'a pas cette limite, et on peut avoir des registres vectoriels beaucoup plus grands. Cela est avantageux notamment car RISC-V permet de ré-organiser l'espace mémoire de l'unité vectorielle et de réattribuer la mémoire des registres vectoriels inutilisés à d'autres. À noter qu'il n'y a pas forcément autant d'unité de calculs disponibles en hardware que la taille d'un vecteur, mais ces opérations se pipelinent très bien, et du coup il est possible d'utiliser un pipeline in-order tout en restant efficace.