Displaying 20 results from an estimated 100 matches similar to: "extracting the t-statistic: just the numbers, please"
2015 May 13
8
[LLVMdev] RFC: Convergent attribute
Below is a proposal for a new "convergent" intrinsic attribute and MachineInstr property, needed for correctly modeling many SPMD/SIMT programming models in LLVM. Comments and feedback welcome.
—Owen
In order to make LLVM more suitable for programming models variously called SPMD
and SIMT, we would like to propose a new intrinsic and MachineInstr annotation
called
2015 May 14
2
[LLVMdev] RFC: Convergent attribute
Why is this a regalloc problem? I assume in the example below the "r0" is somehow forced by the ABI? Because otherwise moving the texture2d operation into the branch wouldn't matter as long as we assign different registers to the two branches and use a technique like lib/Target/R600/SIFixSGPRLiveRanges.cpp.
- Matthias
> On May 13, 2015, at 6:00 PM, Philip Reames <listmail at
2015 Aug 14
2
[LLVMdev] RFC: Convergent attribute
Hi Jingyue,
Convergent is not intended to prevent inlining. It’s tricky to formalize this inter-procedurally, but the intended interpretation is that a convergent operation cannot be move either into or out of a conditionally executed region. Normal inlining would not violate that.
I would imagine that it would make sense to use a combination of convergent and noduplicate for barrier-like
2015 Aug 14
2
[LLVMdev] RFC: Convergent attribute
Hi Mehdi,
My reading of it is that if you have a convergent instruction A, it is
legal to duplicate it to instruction B if (assuming B is after A in program
flow) A dominates B and B post-dominates A.
James
On Fri, 14 Aug 2015 at 08:32 Mehdi Amini via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> On Aug 13, 2015, at 9:43 PM, Owen Anderson via llvm-dev <
> llvm-dev at
2016 Oct 24
2
RFC: (Co-)Convergent functions and uniform function parameters
Hi all,
Some brain-storming on an issue with SPMD/SIMT backend support where I
think some additional IR attributes would be useful. Sorry for the
somewhat long mail; the short version of my current thinking is that I
would like to have the following:
1) convergent: a call to a function with this attribute cannot be moved
to have additional control dependencies; i.e., moving it from A to B is
2016 Oct 24
2
RFC: (Co-)Convergent functions and uniform function parameters
On 24.10.2016 21:54, Mehdi Amini wrote:
>> On Oct 24, 2016, at 12:38 PM, Nicolai Hähnle via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> Some brain-storming on an issue with SPMD/SIMT backend support where I think some additional IR attributes would be useful. Sorry for the somewhat long mail; the short version of my current thinking is that I would like to have the following:
2015 Sep 22
2
[RFC] Refinement of convergent semantics
Hi Jingyue,
I consider it a very important element of the design of convergent that it does not require baseline LLVM to contain a definition of uniformity, which would itself pull in a definition of SIMT/SPMD, warps, threads, etc. The intention is that it should be a conservative (but hopefully not too conservative) approximation, and that implementations of specific GPU programming models
2016 Oct 26
3
RFC: (Co-)Convergent functions and uniform function parameters
On 25.10.2016 16:28, Nicolai Hähnle wrote:
> But I fear that this path leads to eternal fuzziness. Let me try a
> completely different approach to define what we need by augmenting the
> semantics of IR with "divergence tokens". In addition to its usual
> value, every IR value carries a "divergence set" of divergence tokens.
>
> The basic rule is: the
2011 Dec 14
2
[LLVMdev] Changes to the PTX calling conventions
Hi all,
On 12/13/2011 10:50 PM, Justin Holewinski wrote:
> You mean having no calling convention for device functions, and a new, common
> calling convention for kernels?
I think this might make sense.
One major issue with OpenCL C (and I suppose CUDA) kernels some
fail to see is that the functions are "directly callable"
(just by choosing a correct the calling convention) in
2016 Oct 24
2
RFC: (Co-)Convergent functions and uniform function parameters
> On Oct 24, 2016, at 4:15 PM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>
> On 25.10.2016 01:11, Nicolai Hähnle wrote:
>> On 24.10.2016 21:54, Mehdi Amini wrote:
>>>> On Oct 24, 2016, at 12:38 PM, Nicolai Hähnle via llvm-dev
>>>> <llvm-dev at lists.llvm.org> wrote:
>>>> Some brain-storming on an issue with SPMD/SIMT backend
2011 Dec 14
2
[LLVMdev] Changes to the PTX calling conventions
On 12/14/2011 02:41 PM, Justin Holewinski wrote:
> I would favor calling conventions over metadata for the simple reason
> that this maps more cleanly to the device model. Device and kernel
> functions are represented differently in PTX, including (sometimes) the
> way parameters are passed.
For the record, marking the kernels with "calling conventions" instead
of metadata
2015 Jan 24
2
[LLVMdev] Proposal: pragma for branch divergence
*Hi, I am considering a language extension to Clang for optimizing GPU
programs. This extension will allow the compiler to use different
optimization strategies for divergent and non-divergent branches (to be
explained below). We have observed significant performance gain by
leveraging this proposed extension, so I want to discuss it here to see how
the community likes/dislikes the idea. I will
2011 Dec 14
0
[LLVMdev] Changes to the PTX calling conventions
2011/12/14 Pekka Jääskeläinen <pekka.jaaskelainen at tut.fi>
> Hi all,
>
> On 12/13/2011 10:50 PM, Justin Holewinski wrote:
> > You mean having no calling convention for device functions, and a new,
> common
> > calling convention for kernels?
>
> I think this might make sense.
>
To be clear, I do like the idea of using the default calling convention for
2011 Dec 13
0
[LLVMdev] Changes to the PTX calling conventions
On Tue, Dec 13, 2011 at 3:37 PM, Villmow, Micah <Micah.Villmow at amd.com>wrote:
> ** **
>
> *From:* Justin Holewinski [mailto:justin.holewinski at gmail.com]
> *Sent:* Tuesday, December 13, 2011 10:50 AM
>
> *To:* Villmow, Micah
> *Cc:* LLVM Developers Mailing List
> *Subject:* Re: [LLVMdev] Changes to the PTX calling conventions****
>
> ** **
>
> On
2015 Jan 24
2
[LLVMdev] [cfe-dev] Proposal: pragma for branch divergence
In our experience, as Owen also suggests, a pragma or a language extension
can be avoided by a combination of static and dynamic analysis. We prefer
this approach in our compiler ;)
Regards,
Vinod
On Sat, Jan 24, 2015 at 12:09 AM, Owen Anderson <resistor at mac.com> wrote:
> Hi Jingyue,
>
> Have you considered using dynamic uniformity checks? In my experience you
> can
2011 Dec 14
0
[LLVMdev] Changes to the PTX calling conventions
2011/12/14 Pekka Jääskeläinen <pekka.jaaskelainen at tut.fi>
> On 12/14/2011 02:41 PM, Justin Holewinski wrote:
>
>> I would favor calling conventions over metadata for the simple reason
>> that this maps more cleanly to the device model. Device and kernel
>> functions are represented differently in PTX, including (sometimes) the
>> way parameters are passed.
2011 Dec 13
3
[LLVMdev] Changes to the PTX calling conventions
From: Justin Holewinski [mailto:justin.holewinski at gmail.com]
Sent: Tuesday, December 13, 2011 10:50 AM
To: Villmow, Micah
Cc: LLVM Developers Mailing List
Subject: Re: [LLVMdev] Changes to the PTX calling conventions
On Tue, Dec 13, 2011 at 12:54 PM, Villmow, Micah <Micah.Villmow at amd.com<mailto:Micah.Villmow at amd.com>> wrote:
From: Justin Holewinski [mailto:justin.holewinski
2013 Jan 25
4
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
On 01/25/2013 09:56 AM, Nadav Rotem wrote:
> Thanks for checking the Loop Vectorizer, I am interested in hearing your
> feedback. The Loop Vectorizer does not fit here. OpenCL vectorization is
> completely different because the language itself is data-parallel. You
> don't need all of the legality checks that the loop vectorizer has.
I'm aware of this and it was my point in
2011 Dec 14
1
[LLVMdev] Changes to the PTX calling conventions
Hi all,
>>> I would favor calling conventions over metadata for the simple
>>> reason that this maps more cleanly to the device model. Device and
>>> kernel functions are represented differently in PTX, including
>>> (sometimes) the way parameters are passed.
>> For the record, marking the kernels with "calling conventions"
>> instead
2020 Jan 03
10
Writing loop transformations on the right representation is more productive
In the 2018 LLVM DevMtg [1], I presented some shortcomings of how LLVM
optimizes loops. In summary, the biggest issues are (a) the complexity
of writing a new loop optimization pass (including needing to deal
with a variety of low-level issues, a significant amount of required
boilerplate, the difficulty of analysis preservation, etc.), (b)
independent optimization heuristics and a fixed pass