Skip to content

elturpin/TP_OpenMP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TP Parallélisation OpenMP

Introduction

Ce dépôt git contient les deux TP de parallélisation en utilisant OpenMP. Le but était d'implémenter des algorithmes parallèles pour faire des traitements sur des vecteurs, des matrices de nombres flotants (TP1) et également sur des matrices de charatcères (TP2) Après avoir réalisé ces implémentations, l'exercice était de lancer des tests de performance en modifant les paramètres d'exécution.

Les Sources

Le fichier Algorithms.cpp contient les implémentations des différents algorithmes demandés. Ils sont séparés par différents namespace c++.

Les fichiers main, numberVector.cpp, numberMatrix.cpp et charMatrix.cpp contiennent le code pour mesurer les performances des algorithmes pour une taille de donnée fixe, et un nombre de threads OpenMP fixe.

Enfin le fichier data_collection.py est un script python3 qui permet de lancer ces différents exécutable pour tout un set de paramètres.

Build & Run

Pour compiler le projet, voici les commandes à faire :

mkdir build
cd build
cmake ..
make

3 executables sont alors compilée : exec_char, exec_numb, exec_vect

Pour lancer un run et obtenir des mesures de performance (depuis la racine du dépôt) :

python3 data_collection exec_xxxx max_threads(INT) max_size(INT)

Résultats

Ces runs ont été réalisés sur mon ordinateur personnel disposant d'un processeur Intel Core i7 - 4702MQ avec 4 coeurs et une fréquence de 2.2GHz, et de 8GB de RAM DDR3. Ils ont aussi été réalisés sur une machine de Grid5000, un dahu, avec 2 Intel Xeon Gold 6130 pour un total de 32 coeurs et 192GiB de RAM. Tous ces résultats sont rassemblés dans le dossier results.

Auteur

  • Laurent Turpin, élève en 5ième au département Informatique de l'INSA de Lyon.

About

Academic project on paralelle programming with OpenMP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published