*** Welcome to piglix ***

Numba

Numba
Original author(s) Continuum Analytics
Developer(s) Community project
Initial release 2012 (2012)
Stable release
0.34.0 / 7 July 2017; 6 days ago (2017-07-07)
Preview release
0.34.0.dev / 9 May 2017; 2 months ago (2017-05-09)
Repository github.com/numba/numba
Written in Python, C
Operating system Cross-platform
Type Technical computing
Website numba.pydata.org

Numba is an Open Source NumPy-aware optimizing compiler for Python sponsored by Continuum Analytics, Inc. It uses the LLVM compiler infrastructure to compile Python to machine code.

Numba compiles Python code with LLVM to code which can be natively executed at runtime. This happens by decorating Python functions, which allows users to create native functions for different input types, or to create them on the fly:

This optimized function runs 200 times faster than the interpreted original function on a long NumPy array; and it is 30% faster than NumPy's builtin sum()function (version 0.27.0).

To make the above example work for any compatible input types automatically, we can create a function that specializes automatically:

GPU kernels can be written in Python, and run on the GPU. There are two approaches available currently:

Example CUDA kernel, written using Python source-code:

http://numba.pydata.org/numba-doc/dev/cuda/overview.html

Simply use the annotation '@hsa.jit':

http://numba.pydata.org/numba-doc/dev/hsa/overview.html

The following projects are alternative approaches to accelerating Python:


...
Wikipedia

...