Displaying 6 results from an estimated 6 matches for "parallem".
Did you mean:
parallel
2013 Feb 07
4
[LLVMdev] Parallel Loop Metadata
...ass than the one pointed out earlier, reg2mem (if the
> variables inside the loop body reuse stack slots). E.g., inlining
> should be safe. So should be unrolling an inner loop inside a parallel loop.
>
I suggest that we only add the 'llvm.loop.parallel' metadata and not llvm.mem.parallem. I believe that it should be the job of the consumer pass (e.g loop-vectorizer) to scan the loop and detect parallelism violations. This is also the approach that we use when we optimize stack slots using lifetime markers. I understand that the consumer passes will have to be more conservative and...
2013 Feb 08
0
[LLVMdev] Parallel Loop Metadata
...out earlier, reg2mem (if the
> > variables inside the loop body reuse stack slots). E.g., inlining
> > should be safe. So should be unrolling an inner loop inside a parallel loop.
> >
>
> I suggest that we only add the 'llvm.loop.parallel' metadata and not llvm.mem.parallem.
Ok. A solution similar to Pekka's, using fewer annotations as you suggested, is
to reference in 'llvm.loop.parallel' all the datarefs to which the parallel
access semantics applies. When the list of datarefs in 'llvm.loop.parallel'
differs from the datarefs in the loop, the...
2013 Feb 08
3
[LLVMdev] Parallel Loop Metadata
...g2mem (if the
>>> variables inside the loop body reuse stack slots). E.g., inlining
>>> should be safe. So should be unrolling an inner loop inside a parallel loop.
>>>
>>
>> I suggest that we only add the 'llvm.loop.parallel' metadata and not llvm.mem.parallem.
>
>
> Ok. A solution similar to Pekka's, using fewer annotations as you suggested, is
> to reference in 'llvm.loop.parallel' all the datarefs to which the parallel
> access semantics applies. When the list of datarefs in 'llvm.loop.parallel'
> differs from t...
2013 Feb 07
0
[LLVMdev] Parallel Loop Metadata
...nted out earlier, reg2mem (if the
>> variables inside the loop body reuse stack slots). E.g., inlining
>> should be safe. So should be unrolling an inner loop inside a parallel loop.
>>
>
> I suggest that we only add the 'llvm.loop.parallel' metadata and not llvm.mem.parallem. I believe that it should be the job of the consumer pass (e.g loop-vectorizer) to scan the loop and detect parallelism violations. This is also the approach that we use when we optimize stack slots using lifetime markers. I understand that the consumer passes will have to be more conservative and...
2013 Feb 07
0
[LLVMdev] Parallel Loop Metadata
Hi Nadav,
On 02/07/2013 07:46 PM, Nadav Rotem wrote:
> Pekka suggested that we add two kind of metadata: llvm.loop.parallel
> (attached to each loop latch) and llvm.mem.parallel (attached to each memory
> instruction!). I think that the motivation for the first metadata is clear -
> it says that the loop is data-parallel. I can also see us adding additional
> metadata such as
2013 Feb 07
3
[LLVMdev] Parallel Loop Metadata
Hi,
I am continuing the discussion about Parallel Loop Metadata from here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-February/059168.html and here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-February/058999.html
Pekka suggested that we add two kind of metadata: llvm.loop.parallel (attached to each loop latch) and llvm.mem.parallel (attached to each memory instruction!). I think