Option d'optimisation de compilation

travonz
Messages : 27
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par travonz »

Salut,

Le compilateur gcc propose une option d'optimisation en fonction de l'architecture: athlon-xp, athlon-mp, etc...

Dans mon cas j'ai 2 athlons XP reconnus en tant que MP (car modés) et je ne m'y connais pas assez en architecture pour savoir si les MP sont cablés comme les XP, auquel cas je pourrai choisir l'option athlon-mp.

si gcc proposait l'architecture athlon-xp-moddé-en-mp je saurais à quoi m'en tenir mais ce n'est pas le cas ;)

merci de votre aide.

travonz
Ministry
Messages : 1529
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par Ministry »

je le vois plutôt comme ça :

XP => mono
MP => bi

donc tant ton cas => MP
travonz
Messages : 27
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par travonz »

merci pour cette reponse rapide.

donc tu affirmes que les MP sont cablés comme les XP et qu'un XP modé est en tout point identique à un MP !
Ministry
Messages : 1529
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par Ministry »

tu n'as qu'à faire avec chaque optimisation

curiosité : tu as aussi le choix entre xeon, xeon non ht, xeon dp et xeon Mp :??:
travonz
Messages : 27
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par travonz »

c'est pour compiler une distrib gentoo integralement, donc c'est un peu long de tester les 2.

J'en ai deja compilé une avec -march=athlon-xp et ca ne presente pas de probleme particulier.

Seulement il est precisé que l'option -march= integre seulement le code necessaire a l'architecture précisée et supprime toute compatibilité avec les autres. Un systeme compilé avec -march=pentium ne fonctionnera pas sur un athtlon. Mais je ne sais pas jusqu'ou ils ont poussé l'incompatibilité. Un systeme compilé avec -march=athlon-mp fonctionnera-t-il sur un XP ?
Je suis quasi sur que oui, mais dans le doute je prefere poser la question car je n'ai pas envie d'avoir à recompiler tout mon systeme en cas d'incompatibilité (car ca prend quand meme plusieurs heures).

Pour repondre à ta question, un extrait du manuel gcc:
The choices for cpu-type are i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp and athlon-mp.
Ministry
Messages : 1529
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par Ministry »

garde xp alors
il me semble que la # xp mp se faisait sur le cache L2 , que l'autre cpu pouvais piocher direct dedans , me goure surement, je m'en souviens plus
Avatar de l’utilisateur
biour
Messages : 24083
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par biour »

[citation=601,1][nom]Ministry a écrit[/nom]garde xp alors
il me semble que la # xp mp se faisait sur le cache L2 , que l'autre cpu pouvais piocher direct dedans , me goure surement, je m'en souviens plus
[/citation]
non c pas loin c a peu pres cela
Image
Ministry
Messages : 1529
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par Ministry »

:jap:
travonz
Messages : 27
Inscription : ven. 12 janv. 2018 17:44

Option d\'optimisation de compilation

Message par travonz »

Comme ça c'est reglé, les optimisations athlon-xp et athlon-mp sont exactement les memes.
Dommage qu'on ne trouve pas ce genre d'info dans la doc.



Options implied by -march=

const processor_alias_table[] =
{
{"i386", PROCESSOR_I386, 0},
{"i486", PROCESSOR_I486, 0},
{"i586", PROCESSOR_PENTIUM, 0},
{"pentium", PROCESSOR_PENTIUM, 0},
{"pentium-mmx", PROCESSOR_PENTIUM, PTA_MMX},
{"i686", PROCESSOR_PENTIUMPRO, 0},
{"pentiumpro", PROCESSOR_PENTIUMPRO, 0},
{"pentium2", PROCESSOR_PENTIUMPRO, PTA_MMX},
{"pentium3", PROCESSOR_PENTIUMPRO, PTA_MMX | PTA_SSE | PTA_PREFETCH_SSE},
{"pentium4", PROCESSOR_PENTIUM4, PTA_SSE | PTA_SSE2 |
PTA_MMX | PTA_PREFETCH_SSE},
{"k6", PROCESSOR_K6, PTA_MMX},
{"k6-2", PROCESSOR_K6, PTA_MMX | PTA_3DNOW},
{"k6-3", PROCESSOR_K6, PTA_MMX | PTA_3DNOW},
{"athlon", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
| PTA_3DNOW_A},
{"athlon-tbird", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE
| PTA_3DNOW | PTA_3DNOW_A},
{"athlon-4", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
| PTA_3DNOW_A | PTA_SSE},
{"athlon-xp", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
| PTA_3DNOW_A | PTA_SSE},
{"athlon-mp", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
| PTA_3DNOW_A | PTA_SSE},
};

Répondre