[llvm-dev] Machine learning and compiler optimizations: using inter-procedural analysis to select optimizations

Shiva Stanford via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 24 02:13:10 PDT 2020


I am a grad CS student at Stanford and wanted to engage with EJ Park,
Giorgis Georgakoudis, Johannes Doerfert to further develop the Machine
Learning and Compiler Optimization concept.

My background is in machine learning, cluster computing, distributed
systems etc. I am a good C/C++ developer and have a strong background in
algorithms and data structure.

I am also taking an advanced compiler course this quarter at Stanford. So I
would be studying several of these topics anyways - so I thought I might as
well co-engage on the LLVM compiler infra project.

I am currently studying the background information on SCC Call Graphs,
Dominator Trees and other Global and inter-procedural analysis to lay some
ground work on how to tackle this optimization pass using ML models. I have
run a couple of all program function passes and visualized call graphs to
get familiarized with the LLVM optimization pass setup. I have also setup
and learnt the use of GDB to debug function pass code.

I have submitted the ML and Compiler Optimization proposal to GSOC 2020. I
have added an additional feature to enhance the ML optimization to include
crossover code to GPU and investigate how the function call graphs can be
visualized as SCCs across CPU and GPU implementations. If the extension to
GPU is too much for a summer project, potentially we can focus on
developing a framework for studying SCCs across a unified CPU, GPU setup
and leave the coding, if feasible, to next Summer. All preliminary ideas.

Not sure how to proceed from here. Hence my email to this list. Please let
me know.

Thank you
Shiva Badruswamy
shivastanford at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200324/423ca4fc/attachment.html>


More information about the llvm-dev mailing list