Turing : Appel du système de compilation

Voici les commandes disponibles :

  • pour la génération d'un exécutable destiné à la frontale,
  • pour la génération d'un exécutable parallèle contenant des appels à MPI et destiné aux noeuds de calcul de la Blue Gene/Q.
Langages Frontale Blue Gene/Q Suffixes des
fichiers sources
Fortran Fortran 77 et format fixe
xlf, xlf_r ou f77

Fortran 90 et format libre
xlf90, xlf90_r ou f90

Fortran 95 et format libre
xlf95, xlf95_r ou f95

Fortran 2003 et format libre
xlf2003_r ou f2003

Fortran 2008 et format libre
xlf2008, xlf2008_r ou f2008
Fortran 77 et format fixe
mpixlf77 ou mpixlf77_r

Fortran 90 et format libre
mpixlf90 ou mpixlf90_r

Fortran 95 et format libre
mpixlf95 ou mpixlf95_r

Fortran 2003 et format libre
mpixlf2003 ou mpixlf2003_r
.f, .F
.f77, .F77


.f90, .F90


.f95, .F95


.f03, .F03


.f08, .F08
C xlc ou xlc_r mpixlc ou mpixlc_r .c
C++ xlC, xlC_r, xlc++ ou xlc++_r mpixlcxx ou mpixlcxx_r .C, .cxx, .c++,
.cc, .cp, .cpp

Exemples de générations d'exécutables pour Blue Gene/Q :

$ mpixlf95 prog.f95 -o prog 
$ mpixlc_r prog.c -o prog 
$ mpixlcxx_r prog.C -o prog

Remarques

Compilation d'applications multithreadées et OpenMP

Les applications multithréadées ou utilisant des directives OpenMP doivent impérativement être compilées avec les commandes suffixées en _r. En effet, il est nécessaire d'utiliser les versions réentrantes du compilateur et des bibliothèques standards.

Notes sur le format du code source Fortran

Les commandes pour le Fortran 77 (comme mpixlf77_r, xlf_r…) supposent que le code source est écrit en format fixe, alors que toutes les autres supposent à l'inverse que le format est libre. Le format du code source peut être précisé explicitement au moyen de l'option -qfixed (format fixe) ou -qfree=f90 (format libre). Il est à noter que le format fixe est considéré comme obsolète depuis la norme Fortran 95.

Par exemple, si prog.f90 contient un code source écrit en format libre :

$ mpixlf90_r prog.f90 -o prog 
$ mpixlf77_r -qfree=f90 prog.f90 -o prog

Suffixe du fichier contenant le code source Fortran

Les fichiers sources peuvent être suffixés par .f03, .f95, .f90 ou bien .f. Les mêmes suffixes en majuscules impliquent l'appel du préprocesseur au préalable. L'option -qsuffix=f=suffixe_désiré permet de spécifier un autre suffixe pour le fichier source.