Fortran/fr: Difference between revisions

Updating to match new version of source page
No edit summary
(Updating to match new version of source page)
Line 3: Line 3:
Fortran est un langage compilé disponible sur les ordinateurs de Calcul Canada où sont installés les compilateurs <tt>gfortran</tt> et <tt>ifort</tt>. En général, les langages compilés offrent une meilleure performance; nous vous encourageons donc à écrire vos programmes en Fortran, C ou C++.
Fortran est un langage compilé disponible sur les ordinateurs de Calcul Canada où sont installés les compilateurs <tt>gfortran</tt> et <tt>ifort</tt>. En général, les langages compilés offrent une meilleure performance; nous vous encourageons donc à écrire vos programmes en Fortran, C ou C++.


<div class="mw-translate-fuzzy">
== Options utiles de compilation ==
== Options utiles de compilation ==
</div>


La plupart des compilateurs Fortran modernes offrent des options utiles pour le débogage.  
La plupart des compilateurs Fortran modernes offrent des options utiles pour le débogage.  
Line 10: Line 12:
* pendant les tests, utilisez <tt>-O0</tt> pour désactiver les optimisations et <tt>-g</tt> pour ajouter les symboles de débogage.     
* pendant les tests, utilisez <tt>-O0</tt> pour désactiver les optimisations et <tt>-g</tt> pour ajouter les symboles de débogage.     


<div class="mw-translate-fuzzy">
==Algèbre linéaire numérique==
==Algèbre linéaire numérique==
</div>


À partir de Fortran 90, de nouvelles fonctions sont disponibles pour le traitement des opérations de base&nbsp;: <tt>matmul</tt> et <tt>dot_product</tt> pour les multiplications avec matrices et vecteurs; <tt>transpose</tt> pour la transposition de matrices. Utilisez toujours ces fonctions ou les librairies BLAS/LAPACK fournies et n'essayez jamais de créer vos propres méthodes, à moins que ce ne soit pour des motifs d'apprentissage. La routine BLAS pour la multiplication de matrices peut s'avérer 100 fois plus rapide que l'algorithme primaire avec trois boucles imbriquées.     
À partir de Fortran 90, de nouvelles fonctions sont disponibles pour le traitement des opérations de base&nbsp;: <tt>matmul</tt> et <tt>dot_product</tt> pour les multiplications avec matrices et vecteurs; <tt>transpose</tt> pour la transposition de matrices. Utilisez toujours ces fonctions ou les librairies BLAS/LAPACK fournies et n'essayez jamais de créer vos propres méthodes, à moins que ce ne soit pour des motifs d'apprentissage. La routine BLAS pour la multiplication de matrices peut s'avérer 100 fois plus rapide que l'algorithme primaire avec trois boucles imbriquées.     


<div class="mw-translate-fuzzy">
==Erreurs de segmentation==
==Erreurs de segmentation==
</div>


Une erreur fréquemment observée avec un exécutable Fortran provient de problèmes d'interface. Ces problèmes surviennent lorsque l'on transmet comme argument d'une sous-routine un pointeur, un tableau alloué dynamiquement ou encore un pointeur de fonctions. À la compilation il n'y a pas de problème, cependant à l'exécution vous obtiendrez par exemple le message suivant&nbsp;:
Une erreur fréquemment observée avec un exécutable Fortran provient de problèmes d'interface. Ces problèmes surviennent lorsque l'on transmet comme argument d'une sous-routine un pointeur, un tableau alloué dynamiquement ou encore un pointeur de fonctions. À la compilation il n'y a pas de problème, cependant à l'exécution vous obtiendrez par exemple le message suivant&nbsp;:
38,763

edits