Visualisation des Galaxies
Ce projet met en lumière 100 000 galaxies réelles en bleu et 100 000 galaxies distribuées aléatoirement en rouge.
Présentation du Projet
Ce projet vise à visualiser 100 000 galaxies authentiques en bleu, tandis que 100 000 galaxies sont affichées en rouge, représentant une distribution aléatoire. Les données proviennent d’un cours de programmation GPU à l’Université Åbo Akademi.
Ce cours se concentre sur l’enseignement de la programmation parallèle à l’aide de CUDA.
Les étudiants ont pour mission d’utiliser CUDA pour calculer 10 milliards d’angles entre les galaxies afin de démontrer qu’elles ne sont pas distribuées de manière aléatoire. Ils doivent exploiter la puissance de calcul des GPU sur un superordinateur pour réaliser ces calculs.
Les étudiants doivent prouver leurs résultats de manière autonome.
Le temps d’exécution prévu pour ces calculs est d’environ 3 secondes.
Il est important de noter que ce programme sert uniquement à visualiser les données et ne constitue pas la solution à l’assignation.
Conditions Préalables
Ce projet peut être construit en utilisant g++ via le script build.sh (raylib étant la seule dépendance), ainsi que Meson, CMake ou Make.
Voici les instructions d’installation pour les dépendances nécessaires :
Dépendances
- Raylib
- Outils de Développement de Base (par exemple,
build-essential
sur Ubuntu) - Meson
- CMake
- Git
- Clang (ou GCC)
Commandes d’Installation
Pour Arch Linux
sudo pacman -S raylib base-devel meson git cmake clang
Pour Ubuntu
sudo apt-get install -y raylib build-essential meson git cmake clang
Compilation et Exécution du Projet
Vous pouvez choisir parmi les systèmes de construction suivants :
- Meson (F5 dans VSCode)
- Make avec CMake
- build.sh
Utilisation de Meson
Configuration :
meson setup build --buildtype=release
Compilation :
À compléter selon les besoins.
Exécution :
./build/galaxy_visualization_raylib
Nettoyage :
meson compile -C build --clean
Utilisation de Make
Compilation :
À compléter selon les besoins.
Exécution :
À compléter selon les besoins.
Nettoyage :
À compléter selon les besoins.
Démo
Notes de Mise à Jour
- Touche espace : met le programme en pause.
- Ajout d’un Makefile pour Linux.
- Ajout du système de construction Meson pour Linux.
- Le système de construction Meson est désormais lié à Raylib installé sur le système.
- Ajout d’un modèle de la Terre : NASA – Crédit : NASA Visualization Technology Applications and Development (VTAD).
- Ajout du mode de vue libre.
- Données de décalage vers le rouge provenant de : Harvard.
- Ajout de build.sh pour faciliter la construction sur Linux.