nbodykit: an open-source, massively parallel toolkit for large-scale structure

Nick Hand, Yu Feng, Florian Beutler, Yin Li, Chirag Modi +2 more
12/15/2017
astro-ph.IMastro-ph.CO

Official code: bccp/nbodykit (122 stars, GPL-3.0, last commit 2025-11-07).

Abstract

We present nbodykit, an open-source, massively parallel Python toolkit for analyzing large-scale structure (LSS) data. Using Python bindings of the Message Passing Interface (MPI), we provide parallel implementations of many commonly used algorithms in LSS. nbodykit is both an interactive and scalable piece of scientific software, performing well in a supercomputing environment while still taking advantage of the interactive tools provided by the Python ecosystem. Existing functionality includes estimators of the power spectrum, 2 and 3-point correlation functions, a Friends-of-Friends grouping algorithm, mock catalog creation via the halo occupation distribution technique, and approximate N-body simulations via the FastPM scheme. The package also provides a set of distributed data containers, insulated from the algorithms themselves, that enable nbodykit to provide a unified treatment of both simulation and observational data sets. nbodykit can be easily deployed in a high performance computing environment, overcoming some of the traditional difficulties of using Python on supercomputers. We provide performance benchmarks illustrating the scalability of the software. The modular, component-based approach of nbodykit allows researchers to easily build complex applications using its tools. The package is extensively documented at http://nbodykit.readthedocs.io, which also includes an interactive set of example recipes for new users to explore. As open-source software, we hope nbodykit provides a common framework for the community to use and develop in confronting the analysis challenges of future LSS surveys.

View on arXivView PDF

Code Implementations(1)

bccp/nbodykitOfficial100%
GPL-3.0

Analysis kit for large-scale structure datasets, the massively parallel way

12260Shell, PythonApr 21, 201511 months agoGPL-3.0
astrophysicsclusteringcosmologydata-analysislarge-scale-structure+4 more

Similar Papers

Cite this paper

@article{hand2017nbodykit,
  title  = {nbodykit: an open-source, massively parallel toolkit for large-scale structure},
  author = {Nick Hand and Yu Feng and Florian Beutler and Yin Li and Chirag Modi and Uros Seljak and Zachary Slepian},
  year   = {2017},
  eprint = {1712.05834},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1712.05834}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1712.05834.svg)](https://codeofpaper.com/paper/1712.05834)

Discussion