fbpic
codon
fbpic | codon | |
---|---|---|
2 | 34 | |
165 | 13,878 | |
-0.6% | 0.8% | |
8.1 | 7.9 | |
25 days ago | 7 days ago | |
Python | C++ | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
fbpic
-
Numba: A High Performance Python Compiler
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
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
codon
-
Should I Open Source my Company?
https://github.com/exaloop/codon/blob/develop/LICENSE
Here are some others: https://github.com/search?q=%22Business+Source+License%22+%2...
-
Python running on the Dart VM?
I found at least one project that managed to compile python AOT to LLVM https://github.com/exaloop/codon. Even if LLVM is more expressive than Dart Kernel, that should at least be some evidence that this might not be too impractical.
-
Codon: Python Compiler
Their fannkuch benchmark seems to be a bit dishonest. They claim an enormous perf delta on https://exaloop.io/benchmarks.html but fannkuch uses factorial a lot and they define factorial with a very small (n=20) table: https://github.com/exaloop/codon/blob/fb461371613049539654c1...
Disclaimer: I've worked on several Python runtimes and compilers, but I'm not by any means out to get Codon. Just happened across this by accident while looking at their inline LLVM, which is neat.
-
The father of Swift made another baby: Mojo: looks to be based on Python using MLIR
If you literally want Python, but compiled ... Look at Codon: https://github.com/exaloop/codon
-
Mojo – a new programming language for all AI developers
Another "Python with high-performance compiled builds" would be https://github.com/exaloop/codon.
-
MIT Turbocharges Python’s Notoriously Slow Compiler
This is the project being discussed: https://github.com/exaloop/codon
-
Is there a way to use turn a project into a single executable file that doesn't require anyone to do anything like install Python before using it?
Try Codon? https://github.com/exaloop/codon
- Since when did Python haters spread out everywhere? Maybe DNF5 would be faster because of ditched it, maybe.
-
Budget HomeLab converted to endless money-pit
https://github.com/exaloop/codon might save you from the rewrite.
- What are your thoughts on Codon compiler having a paid licence?
What are some alternatives?
WarpX - WarpX is an advanced, time-based electromagnetic & electrostatic Particle-In-Cell code.
Nuitka - Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.
simsopt - Simons Stellarator Optimizer Code
Numba - NumPy aware dynamic Python compiler using LLVM
pure_numba_alias_sampling - Pure numba version of Alias sampling algorithm from L. Devroye's, "Non-Uniform Random Random Variate Generation"
Cython - The most widely used Python to C compiler
autograd - Efficiently computes derivatives of numpy code.
taichi - Productive, portable, and performant GPU programming in Python.
ndarray_comparison - Benchmark of toy calculation on an n-dimensional array using python, numba, cython, pythran and rust
julia - The Julia Programming Language
rust-numpy - PyO3-based Rust bindings of the NumPy C-API
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).