3 ms·
Not to forget CPython's own faster-cpython project which aims at JIT compiling. [0] Also JAX[1], PyTorch[2] come with JIT compilation specifically aimed at GPU
by t-vi 3y ago
Not to forget CPython's own faster-cpython project which aims at JIT compiling. [0]
Also JAX[1], PyTorch[2] come with JIT compilation specifically aimed at GPU kernels "fusing" multiple higher-level operation
And NumPy/Scipy (also) uses Pythran[3], an AOT compiler not too unsimilar to Numba.
[0] https://github.com/faster-cpython/cpython https://github.com/faster-cpython/cpython
[1] https://pytorch.org/docs/stable/generated/torch.compile.html https://pytorch.org/docs/stable/generated/torch.compile.html
[2] https://jax.readthedocs.io/ https://jax.readthedocs.io/
[3] https://pythran.readthedocs.io/ https://pythran.readthedocs.io/
I think some useful classification criteria would be
- does it replace running code in Python (either own interpreter or compiler), vs does it speed up certain bits,
- does it aim to faithfully implement Python or does it intentionally diverge in the semantics,
- does it provide low-level semantics (where numba, pythran shine) or higher-level (e.g. what PyTorch, JAX do)
- target architectures (CPU, GPU offloading, ...)