Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1244 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Divers

  Gcc, Optimisations et resultats....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gcc, Optimisations et resultats....

n°309683
Mokett
Posté le 19-08-2003 à 15:56:37  profilanswer
 

J'ai un programme de calcul numerique. J'ai essaye de le compiler avec differentes options d'optimisations et la surprise, les resultats du calcul sont differents et en plus ca ralenti:
 
"sans -O" : resultats de type 1 en 50s
avec -O1  : resultats de type 2 en 40s
avec -O2  : resultats de type 3 en 1m02s
avec -O3  : resultats de type 4 en 1m03s.
 
Les resultats ne sont pas tres differents a chaque fois mais quand meme c'est pas les memes et ca m'ennuie (et puis je ne trouve pas ca normal). Quant aux temps de calcul, ils sont fonctions du resultat donc on ne peut pas trop s'y fier (mais quand meme je ne pense pas que ce soit normal)
 
Il y a une explication ???
 
De plus en enlevant "-march=pentium4" j'ai un resultat cette fois si tres different !!!
 
j'utilise gcc 3.2.2 sur une RedHat 9 (mise a jour) et ma machine est un PIV 2.8C. Je n'ai constate aucun autre probleme.
 
 

mood
Publicité
Posté le 19-08-2003 à 15:56:37  profilanswer
 

n°309692
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 19-08-2003 à 16:04:01  profilanswer
 

mokett a écrit :

J'ai un programme de calcul numerique. J'ai essaye de le compiler avec differentes options d'optimisations et la surprise, les resultats du calcul sont differents et en plus ca ralenti:
 
"sans -O" : resultats de type 1 en 50s
avec -O1  : resultats de type 2 en 40s
avec -O2  : resultats de type 3 en 1m02s
avec -O3  : resultats de type 4 en 1m03s.
 
Les resultats ne sont pas tres differents a chaque fois mais quand meme c'est pas les memes et ca m'ennuie (et puis je ne trouve pas ca normal). Quant aux temps de calcul, ils sont fonctions du resultat donc on ne peut pas trop s'y fier (mais quand meme je ne pense pas que ce soit normal)
 
Il y a une explication ???
 
De plus en enlevant "-march=pentium4" j'ai un resultat cette fois si tres different !!!
 
j'utilise gcc 3.2.2 sur une RedHat 9 (mise a jour) et ma machine est un PIV 2.8C. Je n'ai constate aucun autre probleme.
 
 
 


Très différent avec le "-march=pentium4", cad exactement ?

n°309699
Mokett
Posté le 19-08-2003 à 16:09:45  profilanswer
 

c'est complique a expliquer...
 
Mais en gros si j'enleve le -march.. mon prog trouve le bon  resultat des le debut et donc s'arrete tout de suite. ( le resultat n'est alors pas du tout comparable avec les autres)
 
PS : bien sur mon programme est sense etre deterministe...

n°309705
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 19-08-2003 à 16:15:02  profilanswer
 

mokett a écrit :

c'est complique a expliquer...
 
Mais en gros si j'enleve le -march.. mon prog trouve le bon  resultat des le debut et donc s'arrete tout de suite. ( le resultat n'est alors pas du tout comparable avec les autres)
 
PS : bien sur mon programme est sense etre deterministe...


Tu as fait un peu de théorie des Langages/ Cours de compilation ?
Ainsi que vu les grandes archis/familles de µproc ?
Cé ton compilateur qui s'amuse à réordonancer certaines séquences de code, en espérant optimiser l'exécution de ton prog ... seulement des fois, l'optimisation ne tient pas compte de certains paramètres inhérents à ton programme, notamment que son séquencement est très spécifique et ne doit pas être chamboulé ... :o
Enfin bon, cé un vaste sujet, et tu peux trouver bcp de forum sur  Internet où l'on parle de tous ces pbs d'archi système et de compilos associés ... :)

n°309712
Mokett
Posté le 19-08-2003 à 16:24:39  profilanswer
 

En fait je veins de changer de machine et je n'avais jamais remarque ce genre de trucs sur l'autre (athlon-xp)...
 
Mon programme est du calcul numerique assez standard, je n'ai pas essayer de faire de blagues au compilo..  :pt1cable:  
 
 

n°309717
Taz
bisounours-codeur
Posté le 19-08-2003 à 16:26:22  profilanswer
 

si ton programme est sensé sortir le meme résultat à chaque fois pour les besoins de tes tests et que tu optiens quelque choses de different, y a un gros problème dans ton code.
 
"Les resultats ne sont pas tres differents a chaque fois mais quand meme c'est pas les memes"
 
et qui implique donc  => "Quant aux temps de calcul, ils sont fonctions du resultat donc on ne peut pas trop s'y fier"
 
c'est bien ça ? le problème étant que les mêmes données devraient produire les mêmes résultats
 
si tu veux, demande à ce que ce topic soit déplacer sur prog et poste du code / on pourra parler plus spécifiquement

n°309720
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 19-08-2003 à 16:27:54  profilanswer
 

mokett a écrit :

En fait je veins de changer de machine et je n'avais jamais remarque ce genre de trucs sur l'autre (athlon-xp)...
 
Mon programme est du calcul numerique assez standard, je n'ai pas essayer de faire de blagues au compilo..  :pt1cable:  
 
 
 


Euh ... tu inverses les rôles là ... cé lui qui t'en fait des blagues ... :D

n°309743
Mokett
Posté le 19-08-2003 à 17:10:47  profilanswer
 

Taz a écrit :

si ton programme est sensé sortir le meme résultat à chaque fois pour les besoins de tes tests et que tu optiens quelque choses de different, y a un gros problème dans ton code.
 
"Les resultats ne sont pas tres differents a chaque fois mais quand meme c'est pas les memes"
 
et qui implique donc  => "Quant aux temps de calcul, ils sont fonctions du resultat donc on ne peut pas trop s'y fier"
 
c'est bien ça ? le problème étant que les mêmes données devraient produire les mêmes résultats
 
si tu veux, demande à ce que ce topic soit déplacer sur prog et poste du code / on pourra parler plus spécifiquement


 
Ouais ca peut etre un probleme de code mais de ce cote la je suis oblige de m'en sortir tout seul. parce que d'une part c'est trop long et d'autre part legalement je ne pense pas avoir le droit de le publier sur  le net.....
 
En tout cas si c'est le code ca fait chier...  
 
Je vais refaire des tests sur mon athlon pour voir parce que ca me semble bizarre tout de meme...
 
et un truc un peu hors sujet :
 
Vous en pensez quoi de l'hyper threading sous Linux ???
si on utilise qu'"un seul proc" (enfin si on a une appli non threadee) il utilise tout de meme 100% des capacites du proc ?
je veux dire pour du calcul numerique est ce que ce ne serait pas plus efficace de desactiver l'HT ?

n°310337
MaxMaveric​k
bli bli
Posté le 20-08-2003 à 15:35:46  profilanswer
 

si tu n'a pas un kernel 2.6 il est tres tres conseiller de desactiver l'hyper-threading.

n°310341
Mokett
Posté le 20-08-2003 à 15:40:52  profilanswer
 

Ah ok merci !
 

mood
Publicité
Posté le 20-08-2003 à 15:40:52  profilanswer
 

n°310373
apolon34
Vive Linux!!
Posté le 20-08-2003 à 16:21:54  profilanswer
 

ca ne proviendrait pas des erreurs d'arrondis tes differences de resultat ?
 
parceque du flottant calcule en classique, mmx, 3dnow, sse ne donne pas les memes arrondis

n°310387
Mokett
Posté le 20-08-2003 à 16:35:16  profilanswer
 

si je pense en fait...
 
mais j'avais jamais remarque.
Les erreurs sont quand meme de l'ordre de 0.3% !
 
Par contre le temps d'execution qui augmente c'est quand meme bizarre... avec mon athlon ca marchait beaucoup plus "logiquement"
 
=> c'est peut etre les optimisations SSE2

n°310393
Taz
bisounours-codeur
Posté le 20-08-2003 à 16:40:14  profilanswer
 

si au lieu de nous dire que "le temps augmente" tu surveillais un peu ton programme pour s'il fait pas 4x plus de boucle en 03 qu'en O1?


Message édité par Taz le 20-08-2003 à 16:40:30
n°310395
Mokett
Posté le 20-08-2003 à 16:43:22  profilanswer
 

ouais je vais essayer avec une boucle de taille fixe.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Divers

  Gcc, Optimisations et resultats....

 

Sujets relatifs
Installer GCC sous Knoppix (help needeed)Nvidia + DRI + GCC peut etre
Installation de GCCNoyau 2.4.20, GCC 2.95 et iptables
Installation de Gcc[GCC] 3.3 est là
[Gentoo] Phoenix-Cvs : tres sensible aux optimisations !GCC 3.2.3 est sorti
problème de compilation GCC[WIN 2000] optimisations
Plus de sujets relatifs à : Gcc, Optimisations et resultats....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR