[llvm-dev] [Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries

Jason Henline via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 15 17:09:07 PDT 2016


I created a GitHub repo that contains the documentation I have been
creating for StreamExecutor. https://github.com/henline/streamexecutordoc

It contains the design docs from the original email in this thread, and it
contains a new doc I just made that gives a more detailed sketch of the
StreamExecutor platform plugin interface. This shows which methods must be
implemented to support a new platform in StreamExecutor, or to provide a
new implementation for an existing platform (e.g. using liboffload to
implement the CUDA platform).

I wrote up this doc in response to a lot of good questions I am getting
about the details of how StreamExecutor might work with the code OpenMP
already has in place.

Best Regards,
-Jason

On Tue, Mar 15, 2016 at 12:28 PM Andrey Bokhanko <andreybokhanko at gmail.com>
wrote:

> Hola Chandler,
>
> On Tue, Mar 15, 2016 at 1:44 PM, Chandler Carruth via Openmp-dev <
> openmp-dev at lists.llvm.org> wrote:
>
>> It seems like if the OpenMP folks want to add a liboffload plugin to
>> StreamExecutor, that would be an awesome additional platform, but I don't
>> see why we need to force the coupling here.
>>
>>
> Let me give you a reason: while user-facing sides of StreamExecutor and
> OpenMP are quite different (and each warrants its place under the sun!),
> internal SE's offloading interface and liboffload are doing exactly the
> same thing. Why we want to duplicate code? As previous replies
> demonstrated, SE can't serve OpenMP's needs, while liboffload API seems to
> be general enough to serve SE well (though this has to be verified, of
> course -- as I understand, Jason is going to do this).
>
> Sure, there is no "must have need" to couple SE and liboffload, but this
> sounds like a solid software engineering decision to me. Or, quoting Jason,
> who said this much better than me:
>
> > Although OpenMP and StreamExecutor support different programming models,
> > some of the work they perform under the hood will likely be very similar.
> > By sharing code and domain expertise, both projects will be improved and
> > strengthened as their capabilities are expanded. The StreamExecutor
> > community looks forward to much collaboration and discussion with OpenMP
> > about the best places and ways to cooperate.
>
> Espere veure't demà!
>
> Yours,
> Andrey
> =====
> Enginyer de Software
> Intel Compiler Team
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160316/eda3bf0d/attachment.html>


More information about the llvm-dev mailing list