All Projects → bccp → nbodykit

bccp / nbodykit

Licence: GPL-3.0 license
Analysis kit for large-scale structure datasets, the massively parallel way

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to nbodykit

hpc
Learning and practice of high performance computing (CUDA, Vulkan, OpenCL, OpenMP, TBB, SSE/AVX, NEON, MPI, coroutines, etc. )
Stars: ✭ 39 (-58.06%)
Mutual labels:  mpi, parallel-computing, mpi4py
Elmerfem
Official git repository of Elmer FEM software
Stars: ✭ 523 (+462.37%)
Mutual labels:  mpi, parallel-computing
ParallelKMeans.jl
Parallel & lightning fast implementation of available classic and contemporary variants of the KMeans clustering algorithm
Stars: ✭ 45 (-51.61%)
Mutual labels:  clustering, parallel-computing
Core
parallel finite element unstructured meshes
Stars: ✭ 124 (+33.33%)
Mutual labels:  mpi, parallel-computing
Quijote-simulations
Large suite of N-body simulations
Stars: ✭ 69 (-25.81%)
Mutual labels:  cosmology, large-scale-structure
Kernels
This is a set of simple programs that can be used to explore the features of a parallel platform.
Stars: ✭ 287 (+208.6%)
Mutual labels:  mpi, parallel-computing
Schwimmbad
A common interface to processing pools.
Stars: ✭ 82 (-11.83%)
Mutual labels:  mpi, parallel-computing
muster
Massively Scalable Clustering
Stars: ✭ 22 (-76.34%)
Mutual labels:  mpi, parallel-computing
hpdbscan
Highly parallel DBSCAN (HPDBSCAN)
Stars: ✭ 19 (-79.57%)
Mutual labels:  clustering, mpi
hp2p
Heavy Peer To Peer: a MPI based benchmark for network diagnostic
Stars: ✭ 17 (-81.72%)
Mutual labels:  mpi, parallel-computing
Foundations of HPC 2021
This repository collects the materials from the course "Foundations of HPC", 2021, at the Data Science and Scientific Computing Department, University of Trieste
Stars: ✭ 22 (-76.34%)
Mutual labels:  mpi, parallel-computing
mpi-parallelization
Examples for MPI Spawning and Splitting, and the differences between two implementations
Stars: ✭ 16 (-82.8%)
Mutual labels:  mpi, mpi4py
pystella
A code generator for grid-based PDE solving on CPUs and GPUs
Stars: ✭ 18 (-80.65%)
Mutual labels:  mpi, cosmology
Mpi4py
Python bindings for MPI
Stars: ✭ 388 (+317.2%)
Mutual labels:  mpi, parallel-computing
es pytorch
High performance implementation of Deep neuroevolution in pytorch using mpi4py. Intended for use on HPC clusters
Stars: ✭ 20 (-78.49%)
Mutual labels:  mpi, mpi4py
Kratos
Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
Stars: ✭ 558 (+500%)
Mutual labels:  mpi, parallel-computing
astrodash
Deep learning for the automated spectral classification of supernovae
Stars: ✭ 25 (-73.12%)
Mutual labels:  cosmology, astrophysics
matrix multiplication
Parallel Matrix Multiplication Using OpenMP, Phtreads, and MPI
Stars: ✭ 41 (-55.91%)
Mutual labels:  mpi, parallel-computing
Dash
DASH, the C++ Template Library for Distributed Data Structures with Support for Hierarchical Locality for HPC and Data-Driven Science
Stars: ✭ 134 (+44.09%)
Mutual labels:  mpi, parallel-computing
t8code
Parallel algorithms and data structures for tree-based AMR with arbitrary element shapes.
Stars: ✭ 37 (-60.22%)
Mutual labels:  mpi, parallel-computing

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
  • an interactive user interface that performs as well in a Jupyter notebook as on super-computing machines

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

Build Status

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

Build Status Test Coverage Conda PyPi

Documentation

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

Cookbook Recipes

Users can dive right into an interactive cookbook of example recipes using binder. We've compiled a set of Jupyter notebooks to help users learn nbodykit by example — just click the launch button below to get started!

binder

Users can also view a static version of the cookbook recipes in the documentation.

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.

Using nbodykit on NERSC

On the Cori and Edison machines at NERSC, we maintain a nightly conda build of the latest stable release of nbodykit. See the documentation for using nbodykit on NERSC for more details.

Bumping to a new version

  1. git pull - confirm that the master branch is up-to-date
  2. Edit Changelog (CHANGES.rst) - Make sure to include all issues which have arisen since the last version. (git add ... -> git commit -m "Update Changelog" -> git push)
  3. Edit version.py -> git push ("bump version to ...")
  4. Go to https://travis-ci.org/bccp/nbodykit and make sure it merged without any problems.
  5. Go to bccp/conda-channel-bccp repo and do "Restart build"
  6. git tag 0.3.? -> git push --tags
  7. bump to a development version (0.3.?dev0)

Acknowledgement

The work on nbodykit is supported by the Berkeley Center for Cosmological Physics, University of California Berkeley, by the National Energy Research Scientific Computing Center of the Lawrence Berkeley National Lab via the allocation m3035, and by users and contributors.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].