Author: Yves Martin Date: To: guilde Subject: Re: Émulation instruction SSE
Selon Frédéric Mantegazza <frederic.mantegazza@???>:
> Bonjour,
> Existe-t-il un patch pour le noyau afin d'émuler l'instruction SSE des
> processeurs qui en sont dépourvus (Athlon..) ?
Hum, j'ai du mal à deviner quel problème pourrait t'amener à te poser une
question aussi étrange.
La seule option que je peux imaginer est que tu dispose d'un code en assembleur
utilisant ces instructions.
Car normalement la compilation (ou la virtualisation) s'adapte au processeur
cible pour exploiter ou non les instructions spécifiques permettant des gains
de performance.
A moins de vouloir par exemple exécuter un code conçu pour les bibliothèques
de performance Intel - genre MKL - sur un processeur non-Intel.
[Sûrement du masochisme de la part de la hiérarchie
qui a orienté l'achat d'un matériel inadéquat avec l'application à déployer.]
Pour répondre, il me semble peut probable qu'un tel patch ait été écrit.
En exécution normal, le kernel détecte les instructions disponibles sur le
processeur pour choisir les fonctions utilitaires les plus performantes pour
des usages très précis (et prévu à l'avance)
A ma connaissance, aucun code n'est prévu pour intercepter une tentative
d'exécution d'une instruction inconnue du processeur. Cela finit normalement en
"segmentation fault" sur réception de "SIGILL" (man 7 signal).
La virtualisation de type vmware/xen/kqemu n'est pas une piste car l'exécution
des instructions non privilégiées est délégué au processeur - et non émulée.
A mon avis, la seule piste envisageable est une émulation complète avec
qemu (sans kqemu) ou avec bochs mais à mon avis ça n'en vaut pas la chandelle
en terme de performance car il faut exécuter un Linux en plus de l'application.