Displaying 20 results from an estimated 35 matches for "streamexecutor".
2016 Mar 09
2
RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...are
parallel libraries, especially those closely tied to compiler technology
like runtime and math libraries. We would like to develop these in the
open, and the natural place seems to be as a subproject in LLVM if others
in the community are interested.
Initially, we'd like to open source our StreamExecutor runtime library,
which is used for simplifying the management of data-parallel workflows on
accelerator devices and can also be extended to support other hardware
platforms. We'd like to teach Clang to use StreamExecutor when targeting
CUDA and work on other integrations, but that makes much mo...
2016 Mar 09
2
RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
Hi Hal,
Thanks for taking a look at the proposal.
The current version of StreamExecutor has partial support for a "host"
platform which performs work on the CPU. It's interface is the same as the
that of the CUDA platform discussed in the design documentation, but right
now it does not support launching user-defined kernels, so it is very
limited. The host platform does...
2016 Mar 10
2
RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...sks and the accelerator tasks).
Based on your comments, I think that supporting host-side tasks sounds like
something that should be added to our roadmap, and it should be pretty
simple to do within the current model. However, supporting dependency edges
between different "platforms" (as StreamExecutor calls them) such as host
and GPU could be slightly more challenging. The current model organizes
each stream of execution as belonging to a parent platform, and streams are
the structures that are meant to manage dependency edges. It will probably
take some thought to decide how to do that in the r...
2016 Mar 15
5
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
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 int...
2016 Mar 28
5
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
I did a more thorough read through liboffload and wrote up a more detailed
doc describing how StreamExecutor platforms relate to libomptarget RTL
interfaces. The doc also describes why the lack of support for streams in
libomptarget makes it impossible to implement some of the most important
StreamExecutor platforms in terms of libomptarget (
https://github.com/henline/streamexecutordoc/blob/master/se_and...
2016 Mar 16
0
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
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 p...
2016 Mar 28
0
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...fe-dev] RFC: Proposing an LLVM subproject for
> parallelism runtime and support libraries
>
> Sent by: "Openmp-dev" <openmp-dev-bounces at lists.llvm.org>
> ------------------------------
>
>
>
>
> Jason,
>
> I concur with your decision since OMP and StreamExecutor fundamentally
> differ in how dependences between consecutive tasks are expressed. OMP uses
> task dependences to express constraint ordering between tasks that execute
> on the host and/or on a particular device. Obviously, a stream is a DAG but
> with very specific constraints (one li...
2016 Mar 28
0
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...ith respect to what they provide to the compiler.
Can you elaborate?
Thanks,
--
Mehdi
> On Mar 28, 2016, at 9:37 AM, Jason Henline via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> I did a more thorough read through liboffload and wrote up a more detailed doc describing how StreamExecutor platforms relate to libomptarget RTL interfaces. The doc also describes why the lack of support for streams in libomptarget makes it impossible to implement some of the most important StreamExecutor platforms in terms of libomptarget (https://github.com/henline/streamexecutordoc/blob/master/se_and_...
2016 Mar 28
2
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...t;> for parallelism runtime and support libraries
>>
>> Sent by: "Openmp-dev" <openmp-dev-bounces at lists.llvm.org>
>> ------------------------------
>>
>>
>>
>>
>> Jason,
>>
>> I concur with your decision since OMP and StreamExecutor fundamentally
>> differ in how dependences between consecutive tasks are expressed. OMP uses
>> task dependences to express constraint ordering between tasks that execute
>> on the host and/or on a particular device. Obviously, a stream is a DAG but
>> with very specific con...
2016 Mar 14
6
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
I think it would be great if StreamExecutor could use liboffload to perform
its offloading under the hood. Right now offloading is handled in
StreamExecutor using platform plugins, so I think it could be very natural
for us to write a plugin which basically forwards to liboffload. If that
worked out, we could delete our current plugins and d...
2016 Mar 28
0
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...lists.llvm.org
Date: 03/28/2016 01:44 PM
Subject: Re: [Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject
for parallelism runtime and support libraries
Sent by: "Openmp-dev" <openmp-dev-bounces at lists.llvm.org>
Jason,
I concur with your decision since OMP and StreamExecutor fundamentally
differ in how dependences between consecutive tasks are expressed. OMP uses
task dependences to express constraint ordering between tasks that execute
on the host and/or on a particular device. Obviously, a stream is a DAG but
with very specific constraints (one linear ordering per st...
2016 Mar 28
0
[cfe-dev] [Openmp-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...rt libraries
>>>
>>> Sent by: "Openmp-dev" <openmp-dev-bounces at lists.llvm.org>
>>> ------------------------------
>>>
>>>
>>>
>>>
>>> Jason,
>>>
>>> I concur with your decision since OMP and StreamExecutor fundamentally
>>> differ in how dependences between consecutive tasks are expressed. OMP uses
>>> task dependences to express constraint ordering between tasks that execute
>>> on the host and/or on a particular device. Obviously, a stream is a DAG but
>>> with v...
2016 Mar 10
2
RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...n at google.com, "Hal J. Finkel" <hfinkel at anl.gov>
> Sent: Thursday, March 10, 2016 10:38:46 AM
> Subject: Re: [llvm-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
>
> Hi Jason,
>
> I'm trying to better understand your StreamExecutor proposal and how
> it relates to other parallel programming models and runtimes such as
> RAJA [1], KOKKOS [2], or some hypothetical SPARK C++ API.
>
> Please correct me if I'm misunderstanding your proposal, but I think
> the essence of what you want from the compiler is type s...
2016 Mar 28
2
[cfe-dev] [Openmp-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...t;> Sent by: "Openmp-dev" <openmp-dev-bounces at lists.llvm.org>
>>>> ------------------------------
>>>>
>>>>
>>>>
>>>>
>>>> Jason,
>>>>
>>>> I concur with your decision since OMP and StreamExecutor fundamentally
>>>> differ in how dependences between consecutive tasks are expressed. OMP uses
>>>> task dependences to express constraint ordering between tasks that execute
>>>> on the host and/or on a particular device. Obviously, a stream is a DAG but
>>...
2016 Mar 29
0
[cfe-dev] [Openmp-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
..." <openmp-dev-bounces at lists.llvm.org>
>>>>> ------------------------------
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Jason,
>>>>>
>>>>> I concur with your decision since OMP and StreamExecutor fundamentally
>>>>> differ in how dependences between consecutive tasks are expressed. OMP uses
>>>>> task dependences to express constraint ordering between tasks that execute
>>>>> on the host and/or on a particular device. Obviously, a stream is a DAG...
2016 Mar 14
2
RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...t of OpenMP, but actually provides a general facility. It has been a part of LLVM since April 2014, and is already being used to offload to both Intel Xeon Phi and (at least NVidia) GPUs. (The IBM folks can tell you more about that!)
The main difference I see (at a very first glance!) is that your StreamExecutor interfaces seem to be aimed more at end user code, whereas the interface to the existing offload library has not been designed for the user, but to be an interface from the compiler. That has advantages and disadvantages
Advantages:
* It is a C level interface, so is callable from C,C++ an...
2016 Mar 28
5
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...>
> --
> Mehdi
>
>
>> On Mar 28, 2016, at 9:37 AM, Jason Henline via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> I did a more thorough read through liboffload and wrote up a more detailed doc describing how StreamExecutor platforms relate to libomptarget RTL interfaces. The doc also describes why the lack of support for streams in libomptarget makes it impossible to implement some of the most important StreamExecutor platforms in terms of libomptarget (https://github.com/henline/streamexecutordoc/blob/master/se_and_...
2016 Mar 14
2
[cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...a general facility. It has been a part of LLVM since April
> 2014, and is already being used to offload to both Intel Xeon Phi and (at
> least NVidia) GPUs. (The IBM folks can tell you more about that!)
>
>
>
> The main difference I see (at a very first glance!) is that your
> StreamExecutor interfaces seem to be aimed more at end user code, whereas
> the interface to the existing offload library has not been designed for the
> user, but to be an interface from the compiler. That has advantages and
> disadvantages
>
> Advantages:
>
> ยท It is a C level inter...
2016 Apr 25
2
[Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries
...ndler,
Thank you for getting it up to ML top.
I believe we have to move broader than that you just mentioned. The natural
separation of the infrastructure into different parts can be across the
following lines:
- the parallel model of programming - these can be OpenMP, OpenACC,
CilkPlus, OpenCL, StreamExecutor, CUDA, C++ parallel extensions, etc.
- the offloading machinery to be used by any of those above and providing
unified interfaces across all targets to be supported
- the performance libraries collection that can be re-used in different
programming models and be targeting different host/targets pla...
2016 Jul 20
2
PSA: LLVM parallel-libs subproject is set up
The parallel-libs LLVM subproject is now set up and ready for code
development. This is the subproject that is meant to house the
StreamExecutor parallel runtime library, possibly the OpenMP target runtime
libraries, and other libraries devoted to handling parallelism in LLVM (see
the README currently checked into the parallel-libs base directory for the
project charter).
The parallel-libs subproject now has a working git mirror and arccon...