[llvm-dev] [GSoC][RFC] Enabling Julia to target GPUs through Polly and imrpove code using run time information

SANJAY SRIVALLABH SINGAPURAM via llvm-dev llvm-dev at lists.llvm.org
Sat Apr 1 13:53:01 PDT 2017


Hello All,

I'm Sanjay Srivallabh, a final year undergraduate student of BITS-Pilani,
Hyderabad Campus in India. I'm currently pursuing a semester long
dissertation in Polyhedral Compilation under Dr. Ramakrishna at
IIT-Hyderabad, India.

I'd like to take GSoC as learning opportunity and make a proposal to,

   - Enable Julia to run on GPUs through Polly
   - Better optimise code using run-time information
   - Enable Polly to choose between sending code to the GPU or CPU for best
   results.

Currently, I've made changes to local repositories of Polly and Julia that
have made Julia run on GPUs via Polly. Benchmarking the gemm kernel has
shown speedups of upto 191x when a GPU was used over the same kernel
running on a CPU optimized by Julia's passes alone. More information can be
found in my draft proposal below.

As is evident from the benchmark, the simple act offloading the kernels to
GPUs can have an incredibly positive effect on the runtime, especially for
programmers or researchers who don't want to be burdened by learning yet
another programming language. Given that many people are getting into
computational finance and data science and a lot of personal systems now
integrate GPUs, this research can now be accelerated, and is accelerated
further in the future when hardware gets faster and software gets smarter.

I understand that this is a cross-project proposal and wanted to know if
anyone in the llvm community would be interested in mentoring me.

Here's the link to the draft of my GSoC proposal
<https://docs.google.com/document/d/1od1FRptFvQpNhct8bQtb31oLy-UkK2oMwiUQ7RNeKWc/edit?usp=sharing>
. 'Looking forward to your feedback and suggestions.

Thank You,
Sanjay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170401/8de1771b/attachment.html>


More information about the llvm-dev mailing list