pure_numba_alias_sampling VS fbpic

Compare pure_numba_alias_sampling vs fbpic and see what are their differences.

pure_numba_alias_sampling

Pure numba version of Alias sampling algorithm from L. Devroye's, "Non-Uniform Random Random Variate Generation" (by grej)

fbpic

Spectral, quasi-3D Particle-In-Cell code, for CPU and GPU (by fbpic)
WorkOS - The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
pure_numba_alias_sampling fbpic
1 2
3 165
- -0.6%
10.0 8.1
about 6 years ago 5 days ago
Python Python
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pure_numba_alias_sampling

Posts with mentions or reviews of pure_numba_alias_sampling. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-27.
  • Numba: A High Performance Python Compiler
    11 projects | news.ycombinator.com | 27 Dec 2022
    It’s not suitable for all use cases.

    But I highly highly recommend it if you need to do somewhat complex calculations iterating over numpy arrays for which standard numpy or scipy functions don’t exist. Even then, often we were surprised that we could speed up some of those calculations by placing them inside numba.

    Edit: ex of a very small function I wrote with numba that speeds up an existing numpy function (note - written years ago and numba has undergone quite some amount of changes since!): https://github.com/grej/pure_numba_alias_sampling

    Disclosure - I now work for Anaconda, the company that sponsors the numba project.

fbpic

Posts with mentions or reviews of fbpic. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-27.
  • Numba: A High Performance Python Compiler
    11 projects | news.ycombinator.com | 27 Dec 2022
    When I wrote my bachelor thesis years back I worked on a particle-in-cell code [1] that makes heavy use of numba for GPU kernels. At the time it was the most convenient way to do that from python. I remember spending weeks to optimizing these kernels to eek out every last bit of performance I could (which interestingly enough did eventually involve using atomic operations and introducing a lot of variables[2] instead of using arrays everywhere to keep things in registers instead of slower caches).

    I remember the team being really responsive to feature requests back then and I had a lot of fun working with it. IIRC compared to using numpy we managed to get speedups of up to 60x for the most critical pieces of code.

    [1]: https://github.com/fbpic/fbpic

  • Faster Python calculations with Numba: 2 lines of code, 13× speed-up
    5 projects | news.ycombinator.com | 18 Feb 2022
    We used numba to accelerate the code and most importantly write GPU kernels for the heavy parts. I remember spending hours optimising my code to eek out the most performance possible (which eventually meant using atomics and manually unrolling many loops because somehow this was giving us the best performance) but honestly I was really happy that I didn't need to write cuda kernels in C and generally it was pretty easy to work with. I remember back then the documentation was sometimes a little rough around the edges but the numba team was incredibly helpful and responsive. Overall I had a great time.

    [0] https://github.com/fbpic/fbpic

What are some alternatives?

When comparing pure_numba_alias_sampling and fbpic you can also consider the following projects:

codon - A high-performance, zero-overhead, extensible Python compiler using LLVM

WarpX - WarpX is an advanced, time-based electromagnetic & electrostatic Particle-In-Cell code.

autograd - Efficiently computes derivatives of numpy code.

simsopt - Simons Stellarator Optimizer Code

hn-search - Hacker News Search

qha - A Python package for calculating thermodynamic properties under quasi-harmonic approximation, using data from ab-initio calculations

ndarray_comparison - Benchmark of toy calculation on an n-dimensional array using python, numba, cython, pythran and rust

rust-numpy - PyO3-based Rust bindings of the NumPy C-API

ideas4 - An Additional 100 Ideas for Computing https://samsquire.github.io/ideas4/

nodevectors - Fastest network node embeddings in the west