Hi Jack,

You might be interested to know that Graham Markall is heavily involved in
Numba so if you smile nicely at him, features which are important for
FEniCS might get a sympathetic hearing!

David

On Tue, 24 Nov 2015 at 17:22 Jack HALE <[email protected]> wrote:

> At the moment there are two ways to define an Expression in DOLFIN; the
> first by providing C++ code which is compiled JIT, and the second by
> extending the class Expression within Python. The first offers excellent
> performance, at the expense of readability in Python code, and the second
> offers ease of use and a seamless Python experience, at the expense of
> speed.
>
> I think we could offer a third way which combines the advantages of both.
>
> Numba http://numba.pydata.org/ is a way of speeding up maths heavy and
> array-oriented code by compiling a subset of Python into native code using
> the LLVM backend.
>
> With Numba, you simply add the decorator @jit to your function, and let it
> handle the rest (it's really quite magic).
>
> I've being playing around with Numba and I've found that with very minor
> modifications to DOLFIN it is possible to use a JIT compiled Numba
> Expression from the Python interface. Unsurprisingly, performance on
> compute-heavy expressions (tight loops etc.) is orders of magnitude better
> than pure-Python and competitive with C++.
>
> An outstanding issue is that when using a Numba expression the C++ layer
> calls out to Python that then calls back to the compiled code. Obviously
> this is suboptimal, but there are blueprints within Numba to provide a C
> interface for compiled Numba code which could eventually remove this
> bottle-neck.
>
> Let me know what you think,
> -----
> Dr. Jack S. Hale
>
> Marie Skłodowska-Curie Postdoctoral Fellow
>
> University of Luxembourg
> Campus Kirchberg G005
> Phone +352 44 666 44 5236
> [email protected]
>
> Latest publications and conferences: http://goo.gl/rNiISG
> ORCID: http://orcid.org/0000-0001-7216-861X
> Google Scholar:
> http://scholar.google.com/citations?user=Fx9lQ7MAAAAJ&hl=de
>
>
>
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to