/solarium

A solar system simulator

Primary LanguageC

Solarium

This folder contains a simple solar system simulator. Essential it computes a solution for the n-body problem. It is my intention for this program to one day be a useful application capable of realistic simulations.

Most of the code is in C (perhaps with some C++). However, it is my intention to develop the primary Solarium application in Ada. The C code in this repository was originally developed to support my parallel programming class and thus demonstrates a variety of techniques and technologies. The main application, in contrast, will choose a single approach (or perhaps be a single executable that can be configured to support several related approaches).

The subfolders contain the following

  • Barnes-Hut: This version is serial but it uses the Barnes-Hut algorithm for solving the n-body probably in O(n log(n)) time. It can be used as the basis for a more efficient parallel solution.

  • Common: This folder contains a number of useful library components along with a test program for those components. The material here is used by several of the other programs in this project.

  • CUDA: Some trivial CUDA code just to demonstrate a few basic idea of CUDA programming.

  • doc: The official documentation set for this project.

  • MPI: An MPI version of the solar system simulator.

  • OpenMP: An OpenMP version of the solar system simulator.

  • Parallel: This version uses POSIX threads for parallelism.

  • Serial: This version is entirely serial. It can be used as a baseline against which timings of the parallel versions can be compared.

  • src: The main Solarium application in Ada.

Peter C. Chapin
PChapin@vtc.vsc.edu