[LLVMdev] Introductions to everyone and a call for Python-LLVM enthusiasts

Sean Silva silvas at purdue.edu
Wed Jul 11 15:34:23 PDT 2012


If you didn't catch it, there has been a recent post to the mailing
list that seems like it might be relevant to your interests:
<http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-June/051298.html>

Direct link to the project page: <http://code.google.com/p/pymothoa/>

--Sean Silva

On Wed, Jul 11, 2012 at 12:37 AM, Travis Oliphant <travis at continuum.io> wrote:
> Hi all,
>
> First, I just want to say thank you for the excellent LLVM project.   I have
> been playing with LLVM for the first part of this year and have been quite
> impressed with what I've seen and what is possible.   I've been coding for a
> long time, but haven't had this much fun since I first learned Python.   The
> work you have done has opened the door for a tremendous amount of innovation
> that I think we are just starting to see.   Congratulations to all of the
> developers.
>
> I started a little project back in January of this year called Numba:
> https://github.com/numba/numba which uses LLVM to translate from Python
> byte-code to machine code with the purpose of letting people write faster
> Python kernels that work on NumPy arrays.    Many people currently use a
> tool like Cython or hand-write an extension to Python in C or C++ when they
> want to get faster code.  Numba will let them get compile their Python code
> without the extra hassle  --- because of your work on LLVM.    For (a
> little) more information, here's a link to the video of the lightning talk I
> gave at PyCon this year describing Numba and a little bit about how LLVM and
> Python can work more closely together:
> http://pyvideo.org/video/657/saturday-morning-lightning-talks
>
> LLVM is still very relevant to Python because of projects like Numba --- but
> you should know that PyPy is no longer using LLVM and Unladen Swallow has
> not been worked on for several years.   The future of LLVM and Python I
> think is very bright --- especially for the scientific and data-analysis
> user-base.
>
> In order to get Numba working, I first ported the work of Mahadevan R. who
> wrote rather complete Python bindings to LLVM called llvm-py.
> Unfortunately, these bindings had not been updated since LLVM 2.8.   Now,
> however, these bindings have been updated for LLVM 3.1 and are now sitting
> at https://github.com/ContinuumIO/llvm-py    We plan to continue to maintain
> these bindings.   Perhaps we could discuss how we might help with the
> official Python bindings as well as maintain these bindings.    As an
> anecdote to the power and functionality of the llvm-py bindings:  a few
> weeks ago, Dave Beazley (a Python guru) taught a compiler "Master" course in
> Chicago where the students basically all wrote a compiler in python using
> ply and llvm-py.   It was amazing and very empowering. Several people in
> that course caught the "bug" of LLVM and Python.   We had a to fix a few
> buglets in llvm-py around static global string initialization, but those
> changes were pretty simple.
>
> We have ambitious goals for Numba which are achievable primarily because all
> along the way Numba can be used to speed up real code in the Python
> ecosystem --- especially for people who write math, science, and engineering
> software in Python.    Numba works now for several cases and we've managed
> to get a few people working on the project so that we are now in the process
> of improving the type system, creating a code-gen path that uses the AST,
> and performing high-level analysis on the expression graph to generate fast,
> vectorized code from NumPy array operations written in Python.   LLVM is
> making this all possible.
>
> Mainly my purpose is to introduce myself to this list, communicate my
> appreciation for your work, and help coordinate with like-minded people who
> are interested in the power that LLVM brings for fast code generation to
> high-level languages like Python.   We can assist in improving the official
> Python bindings (but the updated llvm-py bindings do work as well).   Dave
> Beazley (a Python guru) teaches a compiler Master course in Chicago and he
> used llvm-py in his latest course where all the students built a compiler of
> a Go-like language in Python using Ply and llvm-py.
>
> If you are interested in numba, check out the code and subscribe to the
> mailing list by sending an email to numba at librelist.org.   The first actual
> release of Numba will be soon, but until then if you are adventurous feel
> free to check it out of github.
>
> All the best,
>
> Travis Oliphant
> travis at continuum.io
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



More information about the llvm-dev mailing list