Hi Cesar!

On Tue, 7 Jul 2015 14:58:20 +0200, I wrote:
> On Wed, 1 Jul 2015 07:52:13 -0500, James Norris <jnor...@codesourcery.com> 
> wrote:
> > The independent clause is not available for use
> > with device_type clauses associated with loop
> > directives. [...]

Independent of this, would you please verify (also for the corresponding
Fortran code) that given these changes:

> --- gcc/testsuite/c-c++-common/goacc/dtype-1.c
> +++ gcc/testsuite/c-c++-common/goacc/dtype-1.c
> @@ -53,7 +53,7 @@ test ()
>        for (i3 = 1; i3 < 10; i3++)
>  #pragma acc loop dtype (nVidia) auto
>       for (i4 = 1; i4 < 10; i4++)
> -#pragma acc loop dtype (nVidia) independent
> +#pragma acc loop dtype (nVidia)
>         for (i5 = 1; i5 < 10; i5++)
>  #pragma acc loop device_type (nVidia) seq
>           for (i6 = 1; i6 < 10; i6++)
> @@ -69,7 +69,7 @@ test ()
>        for (i3 = 1; i3 < 10; i3++)
>  #pragma acc loop dtype (nVidia) auto device_type (*) seq
>       for (i4 = 1; i4 < 10; i4++)
> -#pragma acc loop device_type (nVidia) independent device_type (*) seq
> +#pragma acc loop device_type (nVidia) device_type (*) seq
>         for (i5 = 1; i5 < 10; i5++)
>  #pragma acc loop device_type (nVidia) seq
>           for (i6 = 1; i6 < 10; i6++)
> @@ -85,7 +85,7 @@ test ()
>        for (i3 = 1; i3 < 10; i3++)
>  #pragma acc loop device_type (nVidiaGPU) auto device_type (*) seq
>       for (i4 = 1; i4 < 10; i4++)
> -#pragma acc loop dtype (nVidiaGPU) independent dtype (*) seq
> +#pragma acc loop dtype (nVidiaGPU) dtype (*) seq
>         for (i5 = 1; i5 < 10; i5++)
>  #pragma acc loop device_type (nVidiaGPU) seq device_type (*) seq
>           for (i6 = 1; i6 < 10; i6++)

... it is indeed correct to adjust the scan-tree-dump-times as follows:

> @@ -147,7 +147,7 @@ test ()
>  
>  /* { dg-final { scan-tree-dump-times "acc loop auto private\\(i4\\)" 2 
> "omplower" } } */
>  
> -/* { dg-final { scan-tree-dump-times "acc loop private\\(i5\\)" 2 "omplower" 
> } } */
> +/* { dg-final { scan-tree-dump-times "acc loop private\\(i5\\)" 1 "omplower" 
> } } */
>  
>  /* { dg-final { scan-tree-dump-times "acc loop seq private\\(i6\\)" 3 
> "omplower" } } */
>  
> @@ -155,6 +155,6 @@ test ()
>  
>  /* { dg-final { scan-tree-dump-times "acc loop seq private\\(i4\\)" 1 
> "omplower" } } */
>  
> -/* { dg-final { scan-tree-dump-times "acc loop seq private\\(i5\\)" 1 
> "omplower" } } */
> +/* { dg-final { scan-tree-dump-times "acc loop seq private\\(i5\\)" 2 
> "omplower" } } */
>  
>  /* { dg-final { cleanup-tree-dump "omplower" } } */

Is possibly something going wrong if there are two consecutive
device_type clauses, such as in:

    #pragma acc loop device_type (nVidia) device_type (*) seq

..., or:

    #pragma acc loop dtype (nVidiaGPU) dtype (*) seq

I'm unclear why I had to apply these scan-tree-dump-times changes?

> --- gcc/testsuite/gfortran.dg/goacc/dtype-1.f95
> +++ gcc/testsuite/gfortran.dg/goacc/dtype-1.f95
> @@ -54,7 +54,7 @@ program dtype
>          do i3 = 1, 10
>             !$acc loop device_type (nVidia) auto
>             do i4 = 1, 10
> -              !$acc loop dtype (nVidia) independent
> +              !$acc loop dtype (nVidia)
>                do i5 = 1, 10
>                   !$acc loop dtype (nVidia) seq
>                   do i6 = 1, 10
> @@ -76,7 +76,7 @@ program dtype
>          do i3 = 1, 10
>             !$acc loop device_type (nVidia) auto dtype (*) seq
>             do i4 = 1, 10
> -              !$acc loop dtype (nVidia) independent &
> +              !$acc loop dtype (nVidia) &
>                !$acc& dtype (*) seq
>                do i5 = 1, 10
>                   !$acc loop device_type (nVidia) seq
> @@ -99,7 +99,7 @@ program dtype
>          do i3 = 1, 10
>             !$acc loop dtype (nVidiaGPU) auto device_type (*) seq
>             do i4 = 1, 10
> -              !$acc loop dtype (nVidiaGPU) independent &
> +              !$acc loop dtype (nVidiaGPU) &
>                !$acc& dtype (*) seq
>                do i5 = 1, 10
>                   !$acc loop dtype (nVidiaGPU) seq device_type (*) seq

No adjustment has been necessary here.


Grüße,
 Thomas

Attachment: pgpBBH0CFfMzm.pgp
Description: PGP signature

Reply via email to