-
Compiler avec mpif90
Bonjour,
Je ne suis pas un pro des compilateurs, et j'ai besoin d'aide.
Je compile un code écrit en Fortran 90 avec mpif90. A la compilation, il m'affiche des erreurs qui me font comprendre qu'il ne lit plus les caractères d'une ligne après une certaine limite (comme en Fortran 77).
Est ce que le compilateur croit que mon code est en Fortran 77 ?
Que dois-je faire ?
Merci bien.
-
Bonjour,
mpif90 n'est pas un compilateur, mais une surcouche vers un compilateur; on ne peut deviner à priori lequel...
Tout dépend du choix qui a été fait lors de l'installation de la librairie MPI.
Peut-être les messages d'erreur que tu obtiens mentionnent-ils (peut-être indirectement) de quel compilateur il s'agit? Sinon cherches ou la commande mpif90 est installée (sous Linux par ex: un "which mpif90" te donnera le chemin vers la commande, ce qui peut potentiellement de révéler quelques infos utiles) ou mieux, demande à la personne qui a installé la librairie MPI...
Si il n'y a qu'un compilateur Fortran sur ton système; il n'y a pas de question à se poser; c'est ce dernier qui est lié à mpif90; et c'est donc vers sa doc qu'il faut se tourner.
Bon courage.
-
Bonjour,
Merci pour ta réponse. Je comprends un peu mieux déjà.
J'en déduis donc que le compilateur associé à MPIF90 ne compile que le 77.
J'ai fais 'which mpif90' pour avoir le chemin vers la commande, mais cela ne me donne malheureusement pas plus d'indication.
Je sais que j'ai au moins deux compilateurs sur ma machine : gfortran et ifort.
En compilant mon même code en utilisant ces deux compilateurs (sans utiliser mpi), j'obtiens exactement les mêmes erreurs avec gfortran.
J'en déduis donc que mpif90 utilise gfortran qui ne compile pas le 90.
Comment peut on alors changer le compilateur qu'utilise mpif90 ?
Merci encore :)
-
Solution !
J'ai contacté le service informatique de mon établissement, et voici la solution que l'on m'a donnée :
Dans votre répertoire personnel, éditez (ou créez s'il n'existe pas) un fichier .cshrc dans le quel vvous ajouter les lignes suivantes :
# Compilateurs, wrappeurs MPICH2
source /PRODCOM/bin/config.csh
mympi pgf
Ouvrez un nouveau terminal et réessayer de compiler.
Et effectivement ça fonctionne ! Je ne sais pas encore bien pourquoi (si tu peux m'éclairer à ce sujet, comme ça je me coucherai moi bête), mais ça marche !
Merci encore pour ton aide :ccool:
-
Bonjour,
C'est certainement qu'il y a plusieurs versions de MPI installées (en fonction des différents compilateurs à disposition), et les lignes qu'on te demande d'inclure font que tout est mis en place pour utiliser la librairie MPICH, avec probablement le compilateur pgfortran (Portlan Group).
-
Ok,
Merci pour cette précision. ;)