[LLVMdev] Supporting heterogeneous computing in llvm, follow up.

Christos Margiolas chrmargiolas at gmail.com
Tue Jun 9 00:34:21 PDT 2015


Hi Eric,

I agree that handling offloading and multiple architectures can be tricky
and the design needs to be careful. I believe my design makes some sense :)
however I don't "sell" it as a final solution. Many issues need to be
considered and examined carefully. Apologies for delaying the patches. I am
presenting  at a conference this week so I have to prepare a presentation
etc.

On Sat, Jun 6, 2015 at 12:30 PM, Eric Christopher <echristo at gmail.com>
wrote:

> Hi Christos,
>
> I've taken a look at your slide deck and have been thinking about how to
> do this for a while as well. I definitely think this is a good start and am
> looking forward to the patches. I think getting the right compilation
> strategy is going to be important here and it's going to take quite a bit
> of thought to work through what you've got. The patches are likely going to
> illuminate this quite a bit more. I'm also curious about any syntactic
> sugar (ala cuda/etc) that you're thinking about here. There are some
> reasonable starts in llvm already for opencl/cuda and I'm curious how you
> see this extending those efforts in a more general fashion.
>
> I'm looking forward to more work along these lines.
>
> Thanks!
>
> -eric
>
> On Sat, Jun 6, 2015 at 3:45 AM Christos Margiolas <chrmargiolas at gmail.com>
> wrote:
>
>> Hello,
>>
>> As I first e-mailed yesterday, I have been working on a Heterogeneous
>> Execution Engine (Hexe) that provides compiler and runtime support for the
>> automatic and transparent offloading of loop and function workloads to
>> accelerators.
>>
>> Hexe is composed of the following:
>> a) Analysis and Transformation Passes for extracting loops or functions
>> for offloading.
>> b) A runtime library that handles scheduling, data sharing and coherency
>> between the
>> host and accelerator sides.
>> 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.
>>
>> I have prepared a presentation that I would like to share. It provides a
>> high level overview of the work. You can find it here:
>>
>> https://drive.google.com/file/d/0B5GasMlWJhTOb2tXTDZsal9qclE/view?usp=sharing
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__drive.google.com_file_d_0B5GasMlWJhTOb2tXTDZsal9qclE_view-3Fusp-3Dsharing&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=t542M_R9-hujomeI8c5bhqxLWhU4TYoljPwY_9i-x-U&s=XK0h3MbI-JivGXCxAI6Po54lQf_K9wx0d3GrzZ7D1SE&e=>
>>
>> In the next days I will push patches on phabricator, so people can give
>> detailed feedback on the code and design. This may also help with coming up
>> strategies on what needs to be done or changed.
>>
>> Regards
>> Chris
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150609/2b321ac6/attachment.html>


More information about the llvm-dev mailing list