Displaying 3 results from an estimated 3 matches for "task_wait".
2012 Sep 26
0
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
...exactly as in Hal's proposal).
Serial blocks reduce to a block conditional on the index inside the
function being parallelly mapped.
We lower critical and ordered regions into calls to `sync_region`.
Tasks are lowered (recursively) this way:
```
TASK
block
more_code_may_contain_more_tasks
TASK_WAIT
```
desugars to
```
@llvm.parallel_map(2, task_closure, task_priv)
void task_closure(i32 index, i8* private) {
if (index == 0) {
more_code_may_contain_more_tasks
} else {
block
}
}
```
Parallel loops are basically `parallel_map`s.
Thoughts?
[1] http://lists.cs.uiuc.edu/pipermail...
2012 Aug 14
4
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
On Tue, 14 Aug 2012 10:22:35 +0300
Pekka Jääskeläinen <pekka.jaaskelainen at tut.fi> wrote:
> On 08/13/2012 10:54 PM, Hal Finkel wrote:
> > I had thought about uses for shared-memory OpenCL implementations,
> > but I don't know enough about the use cases to make a specific
> > proposal. Is your metadata documented anywhere?
>
> It is now a quick "brute
2012 Sep 26
1
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
...exactly as in Hal's proposal).
Serial blocks reduce to a block conditional on the index inside the
function being parallelly mapped.
We lower critical and ordered regions into calls to `sync_region`.
Tasks are lowered (recursively) this way:
```
TASK
block
more_code_may_contain_more_tasks
TASK_WAIT
```
desugars to
```
@llvm.parallel_map(2, task_closure, task_priv)
void task_closure(i32 index, i8* private) {
if (index == 0) {
more_code_may_contain_more_tasks
} else {
block
}
}
```
Parallel loops are basically `parallel_map`s.
Thoughts?
[1] http://lists.cs.uiuc.edu/pipermail...