[PATCH] D125669: Adding support for target in_reduction
Sunil Shrestha via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 23 08:24:32 PDT 2022
ssquare08 added a comment.
In D125669#3604452 <https://reviews.llvm.org/D125669#3604452>, @ABataev wrote:
> In D125669#3604302 <https://reviews.llvm.org/D125669#3604302>, @RitanyaB wrote:
>
>> In D125669#3599134 <https://reviews.llvm.org/D125669#3599134>, @ABataev wrote:
>>
>>> What about the description? Shall we still emit ` if(0)`?
>>
>> Can you please elaborate for more clarity?
>
> The description of the patch
> So, this
>
> #pragma omp target in_reduction(+:res)
>
> for (int i=0; i<N; i++) {
> res = res+i
> }
>
> will become
>
> #pragma omp task in_reduction(+:res) if(0)
> #pragma omp target map(res)
> for (int i=0; i<N; i++) {
>
> res = res+i
>
> }
>
> So, the question is is this still true?
The idea here is to wrap the target task with a host task and move in_reduction to that new host task with if(0) condition, making it an undeferred task. The approach here is basically using the framework that is in place for the host in_reduction.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D125669/new/
https://reviews.llvm.org/D125669
More information about the llvm-commits
mailing list