stevenlr / Projet-2A-Info-GPU

Projet 2A, ENSICAEN 14-15

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projet-2A-Info-GPU

Configuration

Le fichier MakefileConfig.inc contient les chemins d'accès aux différentes librairies utilisées.

Documentation (doc/)

Les rapports ci-dessous y sont présents:

  • Rapport sur le Marché et Architectures à GPU
  • Rapport du projet

Les récapitulatifs des réunions au cours du projet y sont présents (specs-pc.txt).
Les benchmarks sur nos ordinateurs y sont présents (benchs-finaux.xlsx).
Les spécifications de nos PC y sont présents.

Pré-requis

GCC (MinGW32)
IntelTBB : headers et librairie requis
OpenCL : headers et librairie requis (NVIDIA GPU Computing SDK\OpenCL)
CUDA : headers et librairie requis
Visual Studio : Compiler requis
Pandore : requis pour le prototype (Optionnel)

Configurer le MakefileConfig.inc (Pandore peut être omis)

Instructions

  • make : Construit la bibliothèque images et les exécutables (GPP, GPP-SSE (requiert les extensions SSE, SSE2 et SSSE3) et tests).
  • make run_gpp : Construit les images de sortie de chaque algorithme implémenté sur GPP.
  • make run_tests_gpp : Lance les tests de validité sur les images de sortie des différents algorithmes implémentés sur GPP.
  • make run_sse : Construit les images de sortie de chaque algorithme implémenté sur GPP avec extension SSE.
  • make run_tests_sse : Lance les tests de validité sur les images de sortie des différents algorithmes implémentés sur GPP avec extension SSE.
  • make run_tbb : Construit les images de sortie de chaque algorithme implémenté sur GPP avec intelTBB.
  • make run_tests_tbb : Lance les tests de validité sur les images de sortie des différents algorithmes implémentés sur GPP avec intelTBB.
  • make run_cuda : Construit les images de sortie de chaque algorithme implémenté avec CUDA.
  • make run_tests_cuda : Lance les tests de validité sur les images de sortie des différents algorithmes implémentés avec CUDA.
  • make run_opencl : Construit les images de sortie de chaque algorithme implémenté avec OpenCL.
  • make run_tests_opencl : Lance les tests de validité sur les images de sortie des différents algorithmes implémentés avec OpenCL.
  • make clean : Nettoie les fichiers temporaires.
  • make cleanall : Nettoie tous les fichiers construits lors de la commande make.

Pour lancer les implémentations CUDA, il est nécessaire de lancer le script compile.bat du dossier libimage-vc depuis la console de développement de Visual Studio.

Pour les tests, il sera nécessaire de dézipper le contenu des fichiers présents dans references/input-images et references/output-images.

Les images de sortie générées se trouvent dans gpp/output-images et gpp-sse/output-images.
Les images de référence se trouvent dans references/output-images.

Les nombres renvoyés par les commandes make run_gpp et make run_sse représentent :

  • Le nombre de cycles d'horloge lors de l'exécution de l'algorithme.
  • Le temps réel en seconde de l'exécution de l'algorithme.

About

Projet 2A, ENSICAEN 14-15


Languages

Language:C++ 39.3%Language:C 38.7%Language:Cuda 12.2%Language:Makefile 9.1%Language:Shell 0.7%