[Rd] Summer of Code, LLVM, parallelization and R

luke at stat.uiowa.edu
Mon, 16 Mar 2009 13:12:05 -0000

There is ongoing work on developing a byte code compiler for R.  A
preliminary implementation is available and the corresponding byte
code engine is part of the R distribution.  The initial engine has
been a useful proof of concept but is in the process of being
rewritten from scratch, in part with an eye to supporting
parallelization at least of vectorized math operations; I expect to
make signitficant progress on this over the coming summer.  There are
a lot of open design issues relating to changes or adjustments
(e.g. via declarations) in the R language that might be needed or help
in generating good code, which makes this too loosely specified to
make a good SoC project at the moment.  By summer 2010 it may have
jelled to the point where it is reasonable to spin off projects to,
for example, target lower level VMs like LLVM or JVM or .Net's VM from
the higher level R VM code.

Best,

luke

On Sun, 15 Mar 2009, Florian Gross wrote:

> Hi everybody,
>
> I'm currently working towards my Master's degree as a student of
Computer
> Science at the University of Saarbr?cken and highly interested in compiler
> construction, interpretation techniques, optimization, programming
languages
> and more. :)
>
> Two professors of my university approached me about an interesting project
> just a few days ago: Developing a LLVM-based JIT compilation back-end for
R.
> The primary goal would be the generation of parallel / vectorized code, but
> other ways of increasing performance might be very interesting as well.
>
> I've thought a bit about this and am now wondering if this would make
sense
> as a project for Google's Summer of Code program -- I have seen that
the R
> foundation was accepted as a mentoring organization in 2008 and has applied
> to be one again in this year.
>
> I've already taken part in the SoC program thrice (working on
Novell's
> JScript.NET compiler and run-time environment in 2005, writing a debugger
for
> the Ruby programming language in 2006 and working on a detailed
specification
> for the Ruby programming language in 2007) and it has always been a lot of
> fun and a great experience. One thing that was particularly helpful was
> getting into contact with the development communities so easily.
>
> What do you folks think? Would this be of benefit to the R community? Would
> it be a good candidate for this year's SoC installment? :)
>
> Also, if some thinking in this direction has already been done or if you
have
> any other pointers, please don't hesitate to reply!
>
> Thanks a lot in advance!
>
> Kind regards,
> Florian Gross
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

--
Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa                  Phone:             319-335-3386
Department of Statistics and        Fax:               319-335-3017
    Actuarial Science
241 Schaeffer Hall                  email:      luke at stat.uiowa.edu
Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu