IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

g77, mpif77 et intrinsic


Sujet :

Fortran

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 16
    Points : 11
    Points
    11
    Par défaut g77, mpif77 et intrinsic
    Bonjour,
    Je dois porter sous linux un code existant. Le compilateur retenu pour le moment est g77.

    Le problème vient des fonctions permettant de passer à 1 le bit d'une variable : IBSET et autres. Le code utilisait JIBSET et ça ne passait pas.

    La doc du site de g77 indique que seule IBSET existe. Seulement le compilateur me dit qu'elle n'existe pas.

    J'ai vu des man de mpif77 sur ces fonctions mes quand j'utilise ce compilateur ça ne passe pas non plus.

    Est ce que quelqu'un utilise ces fonctions sous linux et dans ce cas comment s'y prendre ? Si il existe un moyen de s'en passer de façon élégante (je ne coderai pas BISET avec des masques!), je suis preneur aussi.

    merci d'avance.

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par SpaceToto
    La doc du site de g77 indique que seule IBSET existe. Seulement le compilateur me dit qu'elle n'existe pas.
    Quel est exactement le message d'erreur ?

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Pourquoi n'utilise tu pas g95 ou gfortran ?

    Les compilateurs Fortran 95 contiennent plus de fonctions intrinsics de manipulation de bits. Et si tu dois quand même modifier ton code, ce sera au moins dans la bonne direction.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Pour le message d'erreur c'est quelque chose comme ça :
    "reference to unimplemented intrinsic"
    Je ne peux pas donner le message exact car le client chez qui je travaille n'as pas le net donc j'écris ça de chez moi.

    Sinon j'ai essayé gfortran ça passe très bien mais sur d'autres portions de code il semble ne pas reconnaître XOR :
    "user defined operator .XOR." et puis les types des var utilisés.

    En ce qui concerne g95 si il faut porter le code en fortran 95 et que ça demande des modifs conséquentes c'est hors de question dans mon cas. Le projet sur lequel je travaille comprend des quantités de code fortran plutôt impressionnantes.

    Donc pour résumer :
    - existe t-il une lib avec linker depuis g77
    ou
    - y-a-t'il un moyen de faire reconnaître XOR à gfortran
    ou
    - quel est l'impact sur le code pour passer en fortran 95

    Pour le moment je vais être obligé de compiler en mélangeant des .o g77 et gfortran, ce qui ne me ravit pas des masses... Et je risque de tomber un jour sur un bout de code ou ça ne sera pas possible sans tout casser.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Citation Envoyé par SpaceToto
    En ce qui concerne g95 si il faut porter le code en fortran 95 et que ça demande des modifs conséquentes c'est hors de question dans mon cas. Le projet sur lequel je travaille comprend des quantités de code fortran plutôt impressionnantes.
    Le Fortran 77 est un sous-ensemble de Fortran 95. On n'a jamais à convertir du code pour passer de F77 à F95 (il y a en fait un nombre très limité de features F77 exclus de F90, mais les éditeurs de compilateurs les ont maintenus).

    Le problème souvent observé, c'est que F77 était tellement limité que beaucoup d'extensions non standards étaient utilisées. Le problème en fait n'est pas de passer de F77 à F95, mais d'un éditeur avec certaines extensions/syntaxes à un autre utilisant d'autre extensions.

    Finalement, la forme du source fixed ou free n'a rien à voir avec F77 vs F95; F77 supporte uniquement fixed alors que F95 supporte les 2.

    Citation Envoyé par SpaceToto
    existe t-il une lib avec linker depuis g77
    Aucune idée.

    Citation Envoyé par SpaceToto
    y-a-t'il un moyen de faire reconnaître XOR à gfortran
    Ah. Intéressant. gfortran est un compilateur F95. Et tu vois, il supporte ton code F77 sans modification. Un seul problème: .xor. car .xor. est une extension, ce n'est pas du F77 standard. gfortran offre certainement .neqv. qui fait exactement la même chose (changer .xor. pour .neqv., même sur 1G lignes ne devrait pas causer de problème...)

    Citation Envoyé par SpaceToto
    quel est l'impact sur le code pour passer en fortran 95
    Aucun impact. Par contre, tu devras changer de fournisseur. Tu as donc le risque que ton code utilise des extensions non supportées par le nouveau fournisseur. Ça peut être très simple si on se fit à ton essai avec gfortran, mais rien ne garantie que des extensions (critiques pour toi) soient supportées par gfortran , mais pas par un autre (mettons g95). Ça pourrait même être plus facile: peut-être l'autre supporte-t'il .xor. ?

Discussions similaires

  1. [Fortran 77] Problème de compilation avec G77
    Par billybob2 dans le forum Fortran
    Réponses: 1
    Dernier message: 15/06/2007, 08h18
  2. Réponses: 4
    Dernier message: 22/12/2006, 15h10
  3. Portage f77 (SUN) -> g77 (MacOS X 10.4)
    Par peuf23 dans le forum Fortran
    Réponses: 3
    Dernier message: 04/08/2006, 15h28
  4. Erreur lors de l'installation g77
    Par userB dans le forum Fortran
    Réponses: 2
    Dernier message: 06/06/2006, 15h05
  5. [Fortran g77] "Structure ... End Structure"
    Par elbopha dans le forum Fortran
    Réponses: 2
    Dernier message: 07/02/2005, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo