Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Transformée de Fourier Multi-threadée

Ce projet implémente et compare une version mono-threadée et une version multi-threadée d'un calcul de la Transformée de Fourier Discrète (DFT) pour une fréquence donnée, dans le cadre d'un exercice de programmation concurrente.

L'objectif est de calculer la somme suivante sur un très grand nombre d'échantillons N: $F(n)=\sum_{l=0}^{N-1}x(l)e^{-i2\pi\frac{n}{N}l}$

🧑‍💻 Auteur

🛠️ Compilation

Ce projet utilise un Makefile pour simplifier la compilation.

  • Compiler en mode debug (avec les symboles de débogage) :

    make debug
  • Compiler en mode release (optimisé) :

    make release
  • Afficher l'aide (voir les cibles disponibles) :

    make help
  • Nettoyer les fichiers compilés :

    make clean

⚡ Exécution

Le programme principal app prend trois arguments obligatoires :

  1. sample_count (N) : Le nombre total d'échantillons du signal.
  2. frequency (n) : La fréquence normalisée à analyser.
  3. thread_count (M) : Le nombre de threads à utiliser pour la version multi-threadée.

Exemple de benchmark

Pour lancer une comparaison entre les versions mono et multi avec 100 millions d'échantillons, une fréquence de 0.2, et 20 threads (conformément à l'énoncé) :

# Recompiler et exécuter
make clean && make release && ./bin/release/app 100000000 0.2 20

📋 Résultat attendu (pour l'exemple ci-dessus)

Selon l'énoncé, le résultat attendu pour ces paramètres est (-7941.871, 1348.829).

MONO:  Result: (-7941.871, 1348.829) in X.XXX sec
MULTI: Result: (-7941.871, 1348.829) in Y.YYY sec with 20 threads

About

Ce projet implémente et compare une version mono-threadée et une version multi-threadée d'un calcul de la Transformée de Fourier Discrète (DFT) pour une fréquence donnée, dans le cadre d'un exercice de programmation concurrente.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages