<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">I can see even the homogenous variant of this to be useful. Just having the capability of extracting loops and wrapping them into functions and/or modules could help speeding up performance analysis and experiments. It would also help with testing the basic infrastructure + heterogenous environments.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Cheers</div><div class="">Gerolf</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jun 4, 2015, at 5:35 PM, Christos Margiolas <<a href="mailto:chrmargiolas@gmail.com" class="">chrmargiolas@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><span style="font-size:12.8000001907349px" class="">Hello All,</span><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class="">The last two months I have been working on the design and implementation of a heterogeneous execution engine for LLVM. I started this project as an intern at the Qualcomm Innovation Center and I believe it can be useful to different people and use cases. I am planning to share more details and a set of patches in the next </div><div style="font-size:12.8000001907349px" class="">days. However, I would first like to see if there is an interest for this. </div><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class="">The project is about providing compiler and runtime support for the automatic and transparent offloading of loop or function workloads to accelerators. </div><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class=""><span style="font-size:12.8000001907349px" class="">It is composed of the following:</span></div><div style="font-size:12.8000001907349px" class=""><span style="font-size:12.8000001907349px" class="">a) Compiler and Transformation Passes for extracting loops or functions for offloading.</span><br class=""></div><div style="font-size:12.8000001907349px" class="">b) A runtime library that handles scheduling, data sharing and coherency between the</div><div style="font-size:12.8000001907349px" class="">host and accelerator sides.</div><div style="font-size:12.8000001907349px" class="">c) A modular codebase and design. Adaptors specialize the code transformations for the target accelerators. Runtime plugins manage the interaction with the different accelerator environments.</div><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class="">So far, this work so far supports the Qualcomm DSP accelerator  but I am planning to extend it to support OpenCL accelerators. I have also developed a debug port where I can test the passes and the runtime without requiring an accelerator.</div><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class="">The project is still in early R&D stage and I am looking forward for feedback and to gauge  the interest level. I am willing to continue working on this as an open source project and bring it to the right shape so it can be merged with the LLVM tree. </div><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class="">Regards,</div><div style="font-size:12.8000001907349px" class="">Chris</div><div style="font-size:12.8000001907349px" class=""><br class=""></div><div style="font-size:12.8000001907349px" class="">P.S. I intent to join the llvm social in Bay Area tonight and I will be more than happy to talk about it.</div></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:LLVMdev@cs.uiuc.edu" class="">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" class="">http://llvm.cs.uiuc.edu</a><br class=""><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br class=""></div></blockquote></div><br class=""></div></body></html>