search for: cwabbott0

Displaying 10 results from an estimated 10 matches for "cwabbott0".

2019 Feb 09
1
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
...rgent branches are merged by some other > >> intrinsic earlier, then there's no divergence and the merge intrinsic > >> is a no-op. > > > > Makes sense. > > > > - Jan > > On Wednesday, January 30, 2019, 11:41:29 AM EST, Connor Abbott > > <cwabbott0 at gmail.com> wrote: > > > > > > On Wed, Jan 30, 2019 at 4:20 PM Jan Sjodin <jan_sjodin at yahoo.com > > <mailto:jan_sjodin at yahoo.com>> wrote: > > > > > > > > > > > > for (int i = 0; i < 2; i++) { > > &g...
2019 Feb 01
2
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
...gt;> intrinsic, so if all the divergent branches are merged by some other >> intrinsic earlier, then there's no divergence and the merge intrinsic >> is a no-op. > > Makes sense. > > - Jan > On Wednesday, January 30, 2019, 11:41:29 AM EST, Connor Abbott > <cwabbott0 at gmail.com> wrote: > > > On Wed, Jan 30, 2019 at 4:20 PM Jan Sjodin <jan_sjodin at yahoo.com > <mailto:jan_sjodin at yahoo.com>> wrote: > > > > > > > > for (int i = 0; i < 2; i++) { > > > >  foo = ballot(true); //...
2019 Jan 31
3
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
...nd the last sentence, but I assume the > conditions would prevent removing convergence points that help > performance. Post-domination might not be adequate if there are loops > btw. > > - Jan > > > > On Wednesday, January 30, 2019, 6:29:52 AM EST, Connor Abbott < > cwabbott0 at gmail.com> wrote: > > > On Mon, Jan 28, 2019 at 9:09 PM Jan Sjodin <jan_sjodin at yahoo.com> wrote: > > > > > for (int i = 0; i < 2; i++) { > > > foo = ballot(true); // ballot 1 > > > > > > if (threadID /* ID of the thread within...
2019 Jan 30
2
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
...by branches post dominated by the intrinsic, so if all the divergent branches are merged by some other intrinsic earlier, then there's no divergence and the merge intrinsic is a no-op. > > - Jan > > > > On Wednesday, January 30, 2019, 6:29:52 AM EST, Connor Abbott < > cwabbott0 at gmail.com> wrote: > > > On Mon, Jan 28, 2019 at 9:09 PM Jan Sjodin <jan_sjodin at yahoo.com> wrote: > > > > > for (int i = 0; i < 2; i++) { > > > foo = ballot(true); // ballot 1 > > > > > > if (threadID /* ID of the thread within...
2019 Jan 30
3
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
...colai's proposal, I believe we'd want to remove a merge intrinsic when all the branches that it post-dominates that aren't also post-dominated by some other merge intrinsic are uniform. > > > - Jan > > > On Monday, January 28, 2019, 11:16:36 AM EST, Connor Abbott <cwabbott0 at gmail.com> wrote: > > > > On Fri, Jan 25, 2019 at 3:05 AM Jan Sjodin <jan_sjodin at yahoo.com> wrote: > > > > > for (...) { > > > ballot(); > > > if (... /* non-uniform */) continue; > > > } > > > > > > into...
2019 Jan 28
2
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
...if we model the threading, > but I'm not sure about the cost/benefit. I am mostly curious if it is > possible to have a single-thread view or not. Then we would have to > see if it is adequate. > > - Jan > > On Thursday, January 24, 2019, 10:31:47 AM EST, Connor Abbott < cwabbott0 at gmail.com> wrote: > > > I don't see how this would fix the continue vs. nested loop problem I > explained earlier. That is, how would this prevent turning: > > for (...) { > ballot(); > if (... /* non-uniform */) continue; > } > > into > > fo...
2019 Jan 31
2
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
...nd the last sentence, but I assume the > conditions would prevent removing convergence points that help > performance. Post-domination might not be adequate if there are loops > btw. > > - Jan > > > > On Wednesday, January 30, 2019, 6:29:52 AM EST, Connor Abbott < > cwabbott0 at gmail.com> wrote: > > > On Mon, Jan 28, 2019 at 9:09 PM Jan Sjodin <jan_sjodin at yahoo.com> wrote: > > > > > for (int i = 0; i < 2; i++) { > > > foo = ballot(true); // ballot 1 > > > > > > if (threadID /* ID of the thread within...
2017 Jun 15
1
Implementing cross-thread reduction in the AMDGPU backend
I'm wondering about the focus on bound_cntl. Any cleared bit in the row_mask or bank_mask will also disable updating the result. Brian -----Original Message----- From: Connor Abbott [mailto:cwabbott0 at gmail.com] Sent: Wednesday, June 14, 2017 6:13 PM To: tstellar at redhat.com Cc: Matt Arsenault; llvm-dev at lists.llvm.org; Kolton, Sam; Sumner, Brian; Pykhtin, Valery Subject: Re: [llvm-dev] Implementing cross-thread reduction in the AMDGPU backend On Wed, Jun 14, 2017 at 5:23 PM, Tom Stella...
2019 Jan 24
3
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
I don't see how this would fix the continue vs. nested loop problem I explained earlier. That is, how would this prevent turning: for (...) { ballot(); if (... /* non-uniform */) continue; } into for (...) { do { ballot(); } while (... /* non-uniform */); } and vice versa? Note that there's no duplication going on here, and the single-threaded flow of control is
2017 Jun 15
2
Implementing cross-thread reduction in the AMDGPU backend
On 06/14/2017 05:05 PM, Connor Abbott wrote: > On Tue, Jun 13, 2017 at 6:13 PM, Tom Stellard <tstellar at redhat.com> wrote: >> On 06/13/2017 07:33 PM, Matt Arsenault wrote: >>> >>>> On Jun 12, 2017, at 17:23, Tom Stellard <tstellar at redhat.com <mailto:tstellar at redhat.com>> wrote: >>>> >>>> On 06/12/2017 08:03 PM, Connor