Produit Matrice Matrice en Fortran 95

Le fichier pmm.f95 contient le code source d'un programme qui mesure le temps cpu de calcul d'un produit C=AxB de matrices carrées de taille n, pour différentes valeurs de n, et trois méthodes de calcul du produit :

  1. la fonction intrinsèque matmul
  2. une double boucle, accédant aux matrice colonnes par colonnes.
  3. une triple boucle, avec un accès aux matrices lignes par lignes. La sortie des résultats est formaté et vers un fichier (créer à l'exécution), nommé fort.1.

Pour compiler : gfortran -o pmm pmm.f95

Ce fichier peut ensuite être utilisé par le logiciel de tracé gnuplot. Dans un terminal, dans le même répetoire que celui où a été exécuté le programme pmmm, lancer gnuplot, puis taper successivement les commandes gnuplot suivantes (chaque commande sur une seule ligne) :

Pour vous éviter de taper des commandes à gnuplot, j'ai mis ces commandes dans le fichier pmm.plt. Il vous reste à dire à gnuplot de lire ce fichier au démarrage. Dans un terminal, taper gnuplot pmm.plt -. Le dernier caractère (-) indique à gnuplot qu'après avoir lu le fichier pmm.plt (et donc après avoir affiché le dessin dans une fenêtre graphique) il doit attendre vos ordres sur la ligne de commande. Sinon, il termine tout de suite en fermant la fenêtre graphique avant que vous n'ayez pu voir quoi que ce soit ! Pour quitter gnuplot, taper q ou Control-d.

Observer :

  1. la pente des graphiques : le temps de calcul de C=AxB est en O(n3) ;
  2. les différences des méthodes : l'ordre des boucles compte ;
  3. la précision de la mesure du temps cpu.

Nicolas Depauw
Last modified: Fri Oct 7 15:24:47 CEST 2011