Skip to main content
A python-based toolbox for galactic simulations

Build Status Documentation Status Coverage

docs/source/screenshots/galaxy_collision.jpg

Galaxy collision simulation done using PySpace

Documentation

The documentation for this project can be found at http://pyspace.readthedocs.org/.

Features

  • A python interface for high performance C++ implementation of N-body simulation algorithms.

  • PySpace has a numpy friendly API which makes it easier to use.

  • Parallel support using OpenMP.

  • GPU support using CUDA

  • Dumps vtk output which allows users to take advantage of tools like ParaView, MayaVi, etc. for visualization.

Algorithms

  • Brute Force \(O(n^2)\)

  • Barnes-Hut \(O(nlogn)\)

Installation

Dependencies

  • Numpy

  • PyEVTK (pip install pyevtk)

  • gcc compiler

  • OpenMP (optional)

  • ParaView / MayaVi or any other vtk rendering tool (optional)

Linux and OSX

To install the latest stable version, run:

$ pip install pyspace

To install development version, clone this repository by:

$ git clone https://github.com/adityapb/pyspace.git

To install, run:

$ python setup.py install

To install without OpenMP, set USE_OPENMP environment variable to 0 and then install:

$ export USE_OPENMP=0
$ python setup.py install

To install without GPU support, set USE_CUDA environment variable to 0 and then install:

$ export USE_CUDA=0
$ python setup.py install

Troubleshooting

If you run into any issues regarding installation or otherwise, please report here.

Some common issues are addressed below

CUDA not found

Make sure if the CUDA toolkit is installed. If you still get this message after installation, follow the instructions given below.

Add CUDA it to PATH environmental variable and try again

Or, set CUDAHOME environmental variable to path of the CUDA installation by:

$ export CUDAHOME=/usr/local/cuda

Image not found

If your code compiles and you get this error at runtime, make sure you have a CUDA compatible device installed.

If you don’t, install without GPU support (see Installation)

PySpace doesn’t support Windows currently

Running the tests

For running the tests you will need to install nose, install using:

$ pip install nose

To run the tests, from project’s root directory run:

$ make test

Running the benchmarks

For running benchmarks you will need to install pandas, install using:

$ pip install pandas

To run the benchmarks, cd to benchmarks directory and run:

$ python run_benchmarks.py

Contributing

Use PEP 8 coding standard for python and follow this for C++.

Release files for PySpace 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PySpace 0.1.0
File Size Uploaded
PySpace-0.1.0.tar.gz 36.4 kB Details

Release files / PySpace-0.1.0.tar.gz

Download URL PySpace-0.1.0.tar.gz
Size 36.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c0a401f5a2bba09e92ed253ceb401e5ac1024749a4e9847ee35a13eb6423b196
BLAKE2b-256 checksum
How to use checksums
36a03d844fc3b60ec0b162af967b7774abe1ab18e57e2460882778449574ee3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page