Skip to content

100k real ( +100k random ) galaxies from a sector. Visualized with Raylib.

License

Notifications You must be signed in to change notification settings

Avicted/galaxy_visualization_raylib

Repository files navigation

Galaxy Visualization

Visualization of 100,000 real galaxies in blue and 100,000 randomly distributed galaxies in red.

The Course

This project visualizes 100,000 real galaxies in blue and 100,000 randomly distributed galaxies in red. The data is sourced from the GPU programming course at
Åbo Akademi University

This course teaches parallel programming using CUDA.

The assignment is to use CUDA to calculate 10 billion angles between galaxies and prove they are not randomly distributed. The students must leverage the GPU for these calculations on their own using a supercomputer.

The students have to prove this on their own.

The expected runtime for the calculation is approximately 3 seconds.

This program is a visualization of the data, not the solution to the assignment.

Prerequisites

This project can be built using plain g++ through build.sh (raylib is the only dependency), Meson, CMake, or Make.

Below are the installation instructions for the required dependencies:

Dependencies

  • Raylib
  • Base Development Tools (e.g., build-essential on Ubuntu)
  • Meson
  • CMake
  • Git
  • Clang (or GCC)
  • gdb (optional)

Installation Commands

Arch Linux

sudo pacman -S raylib base-devel meson git cmake clang

Ubuntu

sudo apt-get install -y raylib build-essential meson git cmake clang

Build and Run the Project

You can choose from one of the following build systems:

  • Meson (F5 in VSCode)
  • Make with CMake
  • build.sh

Meson

Setup:

meson setup build --buildtype=release 

Build:

meson compile -C build

Run:

./build/galaxy_visualization_raylib

Clean:

meson compile -C build --clean

Make

Build:

make

Run:

make run

Clean:

make clean

Demo

demo


screen

Patch Notes