Retourner aux forums || Retourner au forum Programmation.autre
Programmation.autre : La mouise (la vraie)
Posté par bobert () le 01 juillet 2005J'ai du code en fortran 90 que je fais tourner avec un snapshot de g95 ; le code se comporte de façon délirante.
Par exemple, dans la situation "de départ" le code se comporte "mal" (peu importent les détails) ; et l'ajout d'une simple ligne
print*,sum(maxloc(oneDimVector))
suffit à ce que le code fonctionne correctement. Qu'est-ce que ça vous inspire ?
Merci d'avance
> Lire le message (9 commentaires, moyenne: 1,4).
euh
ca m inspire que le compilateur fait des betises.
J'ai eu le tour avec fontconfig (ou freetype ? je sais plus) compilé sur PPC avec un GCC 3.x ( je sais plus trop).
Apres avoir ajouté un printf(""); à l endroit du plantage, tout etait redevenu normal.
-
[^]Re: euh
Posté par vincent LECOQ (Jabber id, page perso, ) le 01/07/2005 à 12:37. (lien). Évalué à 3.Faux
En faisant ca tu as agrandit la taille de ton processus en memoire et donc peut etre permis a une boucle mal codée de ne plus faire un segfault en depassant la dite taille, ou pire changé les octets que tu écrasait en une version qui ne plante pas.
--> pur coup de bol (qui arrive souvent en fait)--
Ma signature ici-
[^]Re: euh
Posté par Axel () le 01/07/2005 à 16:27. (lien). Évalué à 0.Pas Faux. Ce que tu exposes est probable, tout comme ce que j expose n'est pas faux.
D'autant plus que le freetype (ou fontconfig) que je compilais etait une version stable. C'était avec une version stable de Gcc, et que ce bug ne se reproduisait pas sur x86, mais uniquement sur mon mac.
Le pb ne venait pas du programme, mais bien du compilateur.
-
En debug ?
J'ai déjà eu ce type de problème avec du fortran 77. Je ne me souviens plus des détails mais c'était un truc du style dépassement de tableau ou d'utilisation de variable non initialisée.
Tu as essayé en debug avec des flags genre check-bound ?
-
[^]Re: En debug ?
pas trop d'idee mais...
tu peux essayer avec l'autre compilos libre de fortran 90:
http://gcc.gnu.org/wiki/GFortran(...)
mais mes tests m'ont montre que g95 est plutot pas mal mais lent par rapport au compilo lahey par exemple.
ou avec le compilo F mais la faut etre vachement strict (ce qui est pas un mal) dans sa prog.
Sans le code c'est un peu dure de te dire ce qui va pas et il serait peut etre bon d'envoyer un rapport de bug a celui qui maintient g95, il est assez reactif.
-
[^]Re: pas trop d'idee mais...
Posté par bobert () le 02/07/2005 à 08:05. (lien). Évalué à 2.tu peux essayer avec l'autre compilos libre de fortran 90
Oui, mais j'utilise la bibliothèque HDF5 que ne pouvait pas compiler gfortran jusque très récemment (à cause de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17917(...) ). Il y a un patch depuis quelques jours, je devrais effectivement tester mais avec le temps j'ai l'impression que, bien que tout seul sur le coup, Andy Vaught maintient mieux son g95 que ne l'est la branche officielle gfortran...
mais mes tests m'ont montre que g95 est plutot pas mal mais lent par rapport au compilo lahey par exemple.
Ah bon ? Moi j'avais plutôt une bonne impression après une comparaison rapide avec le compilateur d'Intel ; enfin pour moi une différence de performances de 20-30% n'a pas beaucoup d'importance-
[^]Re: pas trop d'idee mais...
Posté par Nicolas () le 11/07/2005 à 16:35. (lien). Évalué à 2.le compilo d'intel il a plein de truc qui manque qui font que mes progs marchent pas. Je me souviens plus quoi exactment ca fait qq temps deja. Je suis assez d'accord avec toi sur le coup de g95 et gfortran. Rien que la semaine derniere j'ai trouve/retrouve des gros bugs dans gfortran. Pour moi ce compilo (qui est le compilo fortran par defaut dans le gcc4 depuis la disparition de g77) n'est malheureusement pas du tout en version utilisable, contrairement a g95. Apres c'est une histoire de politique et de probleme de personnes/ego et le fork (d'apres les infos de la page de gfortran) semblait inevitable. Je trouve tout de meme dommage que ces problemes ne soit pas mis de cote maintenant enfin bon.
La difference de vitesse dont je parlais (sur calcul lourd) etait pas du tout de 20/30% mais plutot 100% voir plus. Lahey est tres tres bon mais payant et le support est minable. J'ai du bidouiller avec les devels de gcc pour avoir la version que j'avais achete fonctionner apres un changement dans la libc6. Aucun support de lahey et aucun lien sur le site pour donner la solution que je leur ai envoye. Normal si l'on considere qu'ils ont sortis un compilos version n+1 (upgrade payant) qq mois plus tard...
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.autre



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.