devito
mpi4jax
Our great sponsors
devito | mpi4jax | |
---|---|---|
2 | 1 | |
520 | 371 | |
3.7% | 7.3% | |
9.8 | 6.7 | |
2 days ago | 14 days ago | |
Python | Python | |
MIT License | MIT License |
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.
devito
-
Galerkin Approximation
Another project that works like this is devito https://www.devitoproject.org/ - the python code generates C code, calls gcc to compile it, dynamically links the object code with dlopen(), then calls the compiled code. That way, the hot code loop doesn't run in Python
-
Where should I look to learn about how to apply my math skills to options?
This may help https://github.com/devitocodes/devito/blob/master/examples/finance/bs_ivbp.ipynb
mpi4jax
-
[D] Jax (or other libraries) when not using GPUs/TPUs but CPUs.
I've seen a couple of posts of folks using JAX for scientific computing (e.g. physics) workloads without much issue. The parallel primitives work just as well across multiple CPUs as they do on accelerators. If you're on a cluster, also worth looking into https://github.com/PhilipVinc/mpi4jax.
What are some alternatives?
pyccel - Python extension language using accelerators
horovod - Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.
AMaDiA - Astus' Mathematical Display Application : A GUI for Mathematics (Calculator, LaTeX Converter, Plotter, ... )
extending-jax - Extending JAX with custom C++ and CUDA code
chocopy-python-compiler - Ahead-of-time compiler for Chocopy, a statically typed subset of Python 3, built in Python 3.
Dask - Parallel computing with task scheduling
vibora - Fast, asynchronous and elegant Python web framework.
Bulk - A modern interface for implementing bulk-synchronous parallel programs.
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.
einops - Flexible and powerful tensor operations for readable and reliable code (for pytorch, jax, TF and others)
qiskit-symb - Python package for symbolic quantum computation in Qiskit
pyhpc-benchmarks - A suite of benchmarks for CPU and GPU performance of the most popular high-performance libraries for Python :rocket: