Page 1 of 1

Once we have LLVM: Numba

PostPosted: Thu Mar 07, 2013 6:13 pm
by fredd
Numba is a Python compiler which is able to jit-compile a large subset of numerical Python to efficient machine code (using LLVM). It support automatic type interference of most numpy code so unlike Cython large code modifications are usually not needed. Currently it's CPU-only but they plan support GPUs for evaluating parallellizable array-expressions.

When/if someone implements Epiphany support for LLVM it would be highly interesting and not that hard to impement a Epiphany backend in Numba. Numba works on a function level so it will be useful to execute computional kernels on Epiphany from a bigger Python program running on ARM.

Re: Once we have LLVM: Numba

PostPosted: Sun Aug 18, 2013 2:32 pm
by shr
OpenCL support for Numba is on the roadmap for version 1.0, though they're thinking GPUs. LLVM/Numba/IPython would make a nice environment for Paralella discovery.

Re: Once we have LLVM: Numba

PostPosted: Mon Aug 19, 2013 5:09 pm
by CIB
Last time I checked the llvm port was pretty much on hold though. =(

Re: Once we have LLVM: Numba

PostPosted: Fri Aug 23, 2013 3:41 pm
by fredd
An alternative in the meanwhile might be porting Theano from CUDA to OpenCL and use the OpenCL SDK. This should allow evaluating array/linalg expressions on the IPython command line directly on the cores, even tho I find the syntax a little clumsier than numba.

Re: Once we have LLVM: Numba

PostPosted: Mon Aug 26, 2013 12:56 pm
by ogrisel
parakeet [1] is an alternative jit compiler for a numerical subset of python and is scheduled to have 2 compiler backends:

- one is llvm with llvmpy and is already mostly useable,
- one is based on opencl and loo.py and is under active development.

[1] https://github.com/iskandr/parakeet