[PATCH] D12246: [NVPTX] change threading intrinsics from noduplicate to convergent

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 31 21:49:35 PDT 2015


> On Aug 31, 2015, at 9:24 PM, Owen Anderson <resistor at mac.com> wrote:
> 
> 
>> On Aug 31, 2015, at 5:57 PM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote:
>> 
>> 
>> if (b) {
>>     for (int i = 0; i < 100; ++i) {
>>        // do something
>>     __syncthreads();
>>   }
>> } else {
>>    for (int i = 0; i < 100; ++i) {
>>       __syncthreads();
>>   }
>> }
>> 
>> I think it would match your constraint, i.e. "they are be executed in under the same set of execution predicates as where the user wrote them”. 
> 
> I would not consider this to match the convergent constraint.  Each of the __syncthreads() calls after unswitching executes under a subset of the predicates under which the original executed.

Can you define what you mean by “predicates under which the original executed”?

— 
Mehdi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150831/601fc235/attachment.html>


More information about the llvm-commits mailing list