[PATCH] Fix oacc kernels default mapping for scalars

Tom de Vries Tom_deVries@mentor.com
Wed Dec 2 23:15:00 GMT 2015


On 02/12/15 19:03, Thomas Schwinge wrote:
> Hi!
>
> Copying Nathan for your information, in case you had not yet seen that
> gcc/gimplify.c:oacc_default_clause change:
>
> On Fri, 27 Nov 2015 12:29:21 +0100, Tom de Vries<Tom_deVries@mentor.com>  wrote:
>> >The OpenACC 2.0a standard says this about the default mapping for
>> >variables used in a kernels region:
>> >...
>> >An array or variable of aggregate data type referenced in the kernels
>> >construct that does not appear in a data clause for the construct or
>> >any enclosing data construct will be treated as if it appeared in a
>> >present_or_copy clause for the kernels construct.
>> >
>> >A scalar variable referenced in the kernels construct that does not
>> >appear in a data clause for the construct or any enclosing data
>> >construct will be treated as if it appeared in a copy clause.
>> >...
>> >
>> >But atm, all variables including the scalar ones have 'present_or_copy'
>> >defaults.
>> >
>> >This patch makes sure scalar variables get the 'copy' default.
>> >
>> >Bootstrapped and reg-tested on x86_64. OK for stage3 trunk?
> I see:
>
>      PASS: gfortran.dg/goacc/reduction-2.f95   -O   scan-tree-dump-times gimple "acc loop private.k. reduction..:a." 1
>      PASS: gfortran.dg/goacc/reduction-2.f95   -O   scan-tree-dump-times gimple "acc loop private.p. reduction..:a." 1
>      [-PASS:-]{+FAIL:+} gfortran.dg/goacc/reduction-2.f95   -O   scan-tree-dump-times gimple "target oacc_kernels map.tofrom:a .len: 4.." 1
>      PASS: gfortran.dg/goacc/reduction-2.f95   -O   scan-tree-dump-times gimple "target oacc_parallel firstprivate.a." 1
>      PASS: gfortran.dg/goacc/reduction-2.f95   -O  (test for excess errors)
>
> I guess that one needs to be updated?
>

Seems to have been fixed by Cesar in r231204.

Thanks,
- Tom



More information about the Gcc-patches mailing list