ye-luo added a comment.

In D78075#2272474 <https://reviews.llvm.org/D78075#2272474>, @tianshilei1992 
wrote:

> In D78075#2272398 <https://reviews.llvm.org/D78075#2272398>, @ye-luo wrote:
>
>>> However, OpenMP task has a problem that it must be within
>>> to a parallel region; otherwise the task will be executed immediately. As a
>>> result, if we directly wrap to a regular task, the nowait target outside of 
>>> a
>>> parallel region is still a synchronous version.
>>
>> The spec says an implicit task can be generated by an implicit parallel 
>> region which can be the whole OpenMP program. For this reason, the need of 
>> explicit parallel region is a limitation of the llvm OpenMP runtime, right?
>>
>> Can I have an option to run the nowait region as a regular task instead of 
>> an unshackled task? So I can use "parallel" and well established ways to 
>> control the thread affinity.
>
> According to the spec, an implicit parallel region is an inactive parallel 
> region that is not generated from a parallel construct. And based on the 
> definition of active parallel region, which is a parallel region that is 
> executed by a team consisting of more than one thread, an inactive parallel 
> region only has one thread. Since we only have one thread, if we encounter a 
> task, executing it immediately does make sense as we don't have another 
> thread to execute it.

If I remember correctly, you may yield the thread inside a target region after 
enqueuing kernels and transfers. So even with 1 thread, there is chance to run 
other tasks without finishing this target. Isn't that possible?

> I do remember your request about the regular task. This patch is exactly what 
> you need. Later when I finish the RTL, I could provide an option.

Thanks. I see, we will be able to control that in the runtime library.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78075/new/

https://reviews.llvm.org/D78075

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to