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
Option d'optimisation de compilation
Option d\'optimisation de compilation
je le vois plutôt comme ça :
XP => mono
MP => bi
donc tant ton cas => MP
XP => mono
MP => bi
donc tant ton cas => MP
Option d\'optimisation de compilation
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 !
donc tu affirmes que les MP sont cablés comme les XP et qu'un XP modé est en tout point identique à un MP !
Option d\'optimisation de compilation
tu n'as qu'à faire avec chaque optimisation
curiosité : tu as aussi le choix entre xeon, xeon non ht, xeon dp et xeon Mp
curiosité : tu as aussi le choix entre xeon, xeon non ht, xeon dp et xeon Mp
Option d\'optimisation de compilation
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.
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.
Option d\'optimisation de compilation
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
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
Option d\'optimisation de compilation
[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
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
Option d\'optimisation de compilation
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},
};
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},
};