Retourner aux forums || Retourner au forum Programmation.autre

Programmation.autre : La mouise (la vraie)

Posté par bobert () le 01 juillet 2005
0
Ou alors, ça y ressemble méchamment...

J'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).  

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.

La stack ?

Posté par Nong () le 01/07/2005 à 11:40. (lien). Évalué à 2.

En C je dirais que tu as ta stack dans un sale etat pour ce qui est de fortran je ne suis pas sur je n'ai fait que du f77 et ca fait longtemps.

euh

Posté par Axel () le 01/07/2005 à 11:48. (lien). Évalué à 0.

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 ?

Posté par aboot () le 01/07/2005 à 12:10. (lien). Évalué à 1.

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 ?

    Posté par bobert () le 01/07/2005 à 12:53. (lien). Évalué à 2.

    Oui, avec -fbounds-check, mais ça n'a rien donné :-/

    Bonne idée en tous cas...

pas trop d'idee mais...

Posté par Nicolas () le 01/07/2005 à 16:08. (lien). Évalué à 1.

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