Displaying 20 results from an estimated 11000 matches similar to: "[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)"
2012 Oct 02
0
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
On Tue, 2 Oct 2012 14:28:25 +0000
"Adve, Vikram Sadanand" <vadve at illinois.edu> wrote:
> Hal, Andrey, Alexey,
>
> From the LLVM design viewpoint, there is a fundamental problem with
> both Hal's approach and the Intel approach: both are quite
> language-specific. OpenMP is a particular parallel language, with
> particular constructs (e.g., parallel
2012 Oct 02
1
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
I am not an optimizer guy, but, I am just thinking, if we can solve the
problems that we are discussing in this mail chain, by introducing a
middle-end in between front-end and LLVM. We may need to introduce GGC
GIMPLE kind of IR (or any new suitable IR) in the middle-end so that
front-end can produce this new IR, middle-end can consume it, and do all
the parallelization and subsequent
2012 Aug 10
2
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
Hello,
I'd like to see support in clang/LLVM for multi-core parallelism,
especially support for OpenMP. I think that the best way to do this is
by designing an LLVM-based API (metadata and intrinsics) for
expressing parallelism constructs, and having clang lower OpenMP code
to that API. This will allow maximal preservation of optimization
capabilities including target-specific lowering. What
2017 Jan 19
4
[RFC] IR-level Region Annotations
Hi Johannes,
> I am especially curious where you get your data from. Tapir [0] (and to
> some degree PIR [1]) have shown that, counterintuitively, only a few changes
> to LLVM passes are needed. Tapir was recently used in an MIT class with a
> lot of students and it seemed to work well with only minimal changes
> to analysis and especially transformation passes.
TAPIR is an
2017 Jan 20
9
[RFC] IR-level Region Annotations
Hi Sanjoy,
Yes, that's exactly what we have been looking at recently here, but the region tags seem to make it possible to express the control flow as well, so I think we could start with reg ions+metadata, as Hal and Xinmin proposed, and then figure out what needs to be first class instructions.
--Vikram Adve
> On Jan 19, 2017, at 11:03 PM, Sanjoy Das <sanjoy at
2017 Jan 13
2
[RFC] IR-level Region Annotations
> (d) Add a small number of LLVM intrinsics for region or loop annotations,
> represent the directive/clause names using metadata and the remaining
> information using arguments.
>
> Here we're proposing (d),
I think this would serve the goal of communicating source-level directives and annotations down to LLVM passes and back-ends, while deferring inlining and
2017 Jan 19
2
[RFC] IR-level Region Annotations
On Thu, Jan 19, 2017 at 11:46 AM, Mehdi Amini via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
>
> > On Jan 19, 2017, at 11:36 AM, Adve, Vikram Sadanand via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > Hi Johannes,
> >
> >> I am especially curious where you get your data from. Tapir [0] (and to
> >> some degree PIR [1]) have
2017 Jan 20
5
[RFC] IR-level Region Annotations
> On Jan 20, 2017, at 10:44 AM, Tian, Xinmin via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Sanjoy, the IR would be like something below. It is ok to hoist alloca instruction outside the region. There are some small changes in optimizer to understand region-annotation intrinsic.
>
> { void main() {
> i32* val = alloca i32
> tok =
2017 Jan 19
3
[RFC] IR-level Region Annotations
On Thu, Jan 19, 2017 at 1:12 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> On Jan 19, 2017, at 12:04 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>
>
> On Thu, Jan 19, 2017 at 11:46 AM, Mehdi Amini via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>>
>> > On Jan 19, 2017, at 11:36 AM, Adve, Vikram Sadanand via llvm-dev
2012 Aug 13
0
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
Hi,
On 08/10/2012 11:06 PM, Hal Finkel wrote:
> I'd like to see support in clang/LLVM for multi-core parallelism,
> especially support for OpenMP. I think that the best way to do this is
> by designing an LLVM-based API (metadata and intrinsics) for
> expressing parallelism constructs, and having clang lower OpenMP code
> to that API. This will allow maximal preservation
2015 Jun 08
5
[LLVMdev] Supporting heterogeneous computing in llvm.
Chirs,
Have you seen an offloading infrastructure design proposal at
http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-April/084986.html ?
It relies on the long-standing OpenMP standard with recent updates to
support the heterogenous computations.
Could you please review it and comment on how it fits to your needs?
It's not quite clear from your proposal what source language standard
do you
2017 Jan 20
3
[RFC] IR-level Region Annotations
Hi,
I'm going to club together some responses.
I agree that outlining function sub-bodies and passing in the function
pointers to said outlined bodies to OpenMP helpers lets us correctly
implement the semantics we need. However, unless I severely
misunderstood the thread, I thought the key idea was to move *away*
from that representation and towards a representation that _allows_
2015 Mar 09
5
[LLVMdev] LLVM Parallel IR
I'm part of a research group at MIT looking to create an extension of LLVM
that inherently allows one to nicely code a parallel loop.
Most parallel frameworks tend to take the body of a parallel loop and stick
it inside of a function for the parallel runtime to call when appropriate.
However, this makes optimizations significantly more difficult as most
compiler optimizations tend to be
2017 Jan 20
2
[RFC] IR-level Region Annotations
On 01/19/2017 03:36 PM, Mehdi Amini via llvm-dev wrote:
>
>> On Jan 19, 2017, at 1:32 PM, Daniel Berlin <dberlin at dberlin.org
>> <mailto:dberlin at dberlin.org>> wrote:
>>
>>
>>
>> On Thu, Jan 19, 2017 at 1:12 PM, Mehdi Amini<mehdi.amini at apple.com
>> <mailto:mehdi.amini at apple.com>>wrote:
>>
>>
>>>
2017 Jan 21
2
[RFC] IR-level Region Annotations
> On Jan 20, 2017, at 11:17 AM, Tian, Xinmin <xinmin.tian at intel.com> wrote:
>
>>>>> This means that the optimizer has to be aware of it, I’m missing the magic here?
>
> This is one option.
>
> The another option is that, as I mentioned in our LLVM-HPC paper in our implementation. We have a "prepare phase for pre-privatization" can be invoked
2015 Jun 08
2
[LLVMdev] Supporting heterogeneous computing in llvm.
Roel,
You have to checkout and build llvm/clang as usual.
For runtime support you'll have to build the libomptarget and make a
plugin for your target. Samuel can help you some more.
As for the OpenMP examples I can recommend you the
http://openmp.org/mp-documents/OpenMP4.0.0.Examples.pdf
look into the target constructs.
Sergos
On Mon, Jun 8, 2015 at 6:13 PM, Roel Jordans <r.jordans at
2017 Feb 01
2
[RFC] IR-level Region Annotations
> On Jan 31, 2017, at 5:38 PM, Tian, Xinmin <xinmin.tian at intel.com> wrote:
>
>>>>> Ok, but this looks like a “workaround" for your specific use-case, I don’t see how it can scale as a model-agnostic and general-purpose region semantic.
>
> I would say it is a design trade-off.
I’m not sure if we’re talking about the same thing here: my understanding at
2018 Jun 07
2
[RFC] Abstract Parallel IR Optimizations
This is an RFC to add analyses and transformation passes into LLVM to
optimize programs based on an abstract notion of a parallel region.
== this is _not_ a proposal to add a new encoding of parallelism ==
We currently perform poorly when it comes to optimizations for parallel
codes. In fact, parallelizing your loops might actually prevent various
optimizations that would have been applied
2015 Jun 09
2
[LLVMdev] Supporting heterogeneous computing in llvm.
Hi Sergos and Samuel,
Thanks for the links, I've got it mostly working now.
I still have a problem with linking the code. It seems that the clang
driver doesn't pass its library search path to nvlink when linking the
generated cuda code to the target library, resulting in it not correctly
finding libtarget-nvptx.a. Is there some flag or environment variable
that I should set here?
2017 Feb 01
2
[RFC] IR-level Region Annotations
> On Jan 31, 2017, at 10:59 PM, Tian, Xinmin <xinmin.tian at intel.com> wrote:
>
>
> <>
> From: mehdi.amini at apple.com <mailto:mehdi.amini at apple.com> [mailto:mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>]
> Sent: Tuesday, January 31, 2017 9:03 PM
> To: Tian, Xinmin <xinmin.tian at intel.com <mailto:xinmin.tian at