Skip to content

Latest commit

 

History

History
81 lines (54 loc) · 2.74 KB

README.rst

File metadata and controls

81 lines (54 loc) · 2.74 KB

nbodykit: a massively parallel large-scale structure toolkit

nbodykit is an open source project and Python package providing a set of algorithms useful in the analysis of cosmological datasets from N-body simulations and large-scale structure surveys.

Driven by the optimism regarding the abundance and availability of large-scale computing resources in the future, the development of nbodykit distinguishes itself from other similar software packages (i.e., nbodyshop, pynbody, yt, xi) by focusing on :

  • a unified treatment of simulation and observational datasets by insulating algorithms from data containers
  • reducing wall-clock time by scaling to thousands of cores
  • deployment and availability on large, super computing facilities

All algorithms are parallel and run with Message Passing Interface (MPI).

For users using the NERSC super-computers, we provide a ready-to-use tarball of nbodykit and its dependencies; see Using nbodykit on NERSC for more details.

Build Status

We perform integrated tests of the code, including all built-in algorithms, in a miniconda environment for Python 2.7 and Python 3.4.

Build Status Test Coverage PyPi

Installation

We recommend using the anaconda distribution of Python.

To obtain the dependencies and install a package on OSX or Linux, use

conda install -c bccp nbodykit

We are considering support for Windows, but this depends on the status of mpi4py.

For manual install, please refer to .travis.yml, the build section:

At NERSC, nbodykit's master branch is built every night.

salloc -N 1

source /usr/common/contrib/bccp/nbodykit/activate.sh dev

srun -n 4 python-mpi example.py

The file, example.py can be found at https://github.com/bccp/nbodykit/blob/master/nersc/example.py

Documentation

The official documentation is hosted on ReadTheDocs at http://nbodykit.readthedocs.org/.