Je suis tout à fait d'accord, il ne faut pas tout réduire à du calcul matriciel. Par exemple grâce aux instructions vectorielles "fault-only-first load", il est notamment possible de travailler sur des chaînes de caractères sans contrainte d'alignement et sans connaître leur longueur à priori.
[^] # 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é à 7.
Je suis tout à fait d'accord, il ne faut pas tout réduire à du calcul matriciel. Par exemple grâce aux instructions vectorielles "fault-only-first load", il est notamment possible de travailler sur des chaînes de caractères sans contrainte d'alignement et sans connaître leur longueur à priori.
Ainsi une implémentation de strlen() vectorisée reste très simple:
https://github.com/gsauthof/riscv/blob/master/strlen.s
À comparer à une implémentation AVX2 pour x86:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/multiarch/strlen-avx2.S
Sans compter que pour x86, il faut aussi la version AVX-512 pour les CPUs serveurs, et la version SSE2 pour l'entrée de gamme.