[llvm-dev] [GSoC 2016] Introduction - "Enabling Polyhedral Optimizations in Julia"

Matthias Reisinger via llvm-dev llvm-dev at lists.llvm.org
Tue May 10 05:59:36 PDT 2016


Dear LLVM contributors,

my name is Matthias, I am a graduate student majoring in computer science at the Vienna University of Technology, and I am glad to be one of this year's GSoC students who work for the Julia foundation. Julia is a relatively young programming language that uses LLVM for just-in-time compilation and the goal of my project is to integrate Polly in this environment to enable polyhedral optimizations for Julia programs. On the one side this will require changing Julia's LLVM IR generator to make the code more amenable for Polly, but on the other side it will also require adaptions to Polly's analyses and transformations.

If you are interested you may have a look at my proposal [1], besides, I also plan to post interesting findings and results at my blog [2].

During the next four to five weeks, I plan to do the following:
1. For my proposal, I've already built a very simplistic patch that experimentally integrated Polly into Julia's execution environment [4], but that was really only a proof-of-concept. Currently I am working on improving this patch. Based on this, one of the first milestones will be to introduce an annotation (namely @polly), which enables to selectively run Polly for annotated parts of Julia programs.
2. Identify and analyze first Julia programs (or their corresponding LLVM IR respectively) which currently cannot be optimized via Polly.
3. Begin to correct Julia/Polly such that polyhedral optimizations can be applied to these programs

Essentially, points 2 and 3 will be a gradual process which will also build the working process for the subsequent weeks then.

I'll gladly accept any kind of input so feel free to comment on this, post suggestions and give advice.

[1] https://docs.google.com/document/d/1s5mmSW965qmOEbHiM3O4XFz-Vd7cy9TxX9RQaTK_SQo/edit?usp=sharing <https://docs.google.com/document/d/1s5mmSW965qmOEbHiM3O4XFz-Vd7cy9TxX9RQaTK_SQo/edit?usp=sharing>
[2] http://www.mreisinger.com <http://www.mreisinger.com/>
[3] https://groups.google.com/group/julia-dev <https://groups.google.com/group/julia-dev>
[4] https://gist.github.com/MatthiasJReisinger/18c08b18903d7729b5b3 <https://gist.github.com/MatthiasJReisinger/18c08b18903d7729b5b3>
[5] https://github.com/JuliaLang/julia/issues <https://github.com/JuliaLang/julia/issues>
[6] https://github.com/JuliaLang/julia/pulls <https://github.com/JuliaLang/julia/pulls>

Best regards,
Matthias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160510/40759285/attachment.html>


More information about the llvm-dev mailing list