Dernière mise à jour: 24/01/2022
Installation
$ git clone https://github.com/JimmyTournemaine/MatrixProducts.git
$ make
Exécution
Trois exécutables sont compilés :
- generator pour créer or générer aléatoirement des matrices deux par deux.
- product_v1 pour calculer des produits de matrices de façon optimale.
- product_fair idem, cependant les threads sont répartis équitablement sur les processeurs de la machine.
Deux scripts bash sont mis à disposition pour exécuter facilement les exécutables run et compare. Pour ces deux scripts, le canal stderr est redirigé vers un fichier de log pour ne pas surcharger l'affichage sur la console.
$ bash run nbMult file_out
Ce premier script génère nbMult produits, stoque les matrices générées dans un fichier temporaire géré automatiquement par le script. Ensuite, il lance le produit matriciel et sauvegarde les résultats dans le fichier file_out.
$ bash compare nbMult file_out
Ce second script fonctionne comme le précédent mais lance le calcul matriciel avec les deux exécutables pour en comparer les temps d'exécution des deux programmes.
Comparaisons des deux versions
Les résultats obtenus sur la machine Vador de 40 processeurs de L'UBO (Université de Bretagne Occidentale) montrer qu'on obtient un meilleur temps d'exécution en laissant la gestion des CPUs à l'ordonnanceur.