Split up "gfortran.dg/goacc/loop-2.f95"
gcc/testsuite/ * gfortran.dg/goacc/loop-2.f95: Split into... * gfortran.dg/goacc/loop-2-kernels-nested.f95: ... this new file... * gfortran.dg/goacc/loop-2-kernels-tile.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-kernels.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-parallel-3.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-parallel-nested.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-parallel-tile.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-parallel.f95: ..., and this new file. From-SVN: r266921
This commit is contained in:
parent
b22b7d462e
commit
877009a5d9
@ -1,5 +1,19 @@
|
||||
2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* gfortran.dg/goacc/loop-2.f95: Split into...
|
||||
* gfortran.dg/goacc/loop-2-kernels-nested.f95: ... this new
|
||||
file...
|
||||
* gfortran.dg/goacc/loop-2-kernels-tile.f95: ..., and this new
|
||||
file...
|
||||
* gfortran.dg/goacc/loop-2-kernels.f95: ..., and this new file...
|
||||
* gfortran.dg/goacc/loop-2-parallel-3.f95: ..., and this new
|
||||
file...
|
||||
* gfortran.dg/goacc/loop-2-parallel-nested.f95: ..., and this new
|
||||
file...
|
||||
* gfortran.dg/goacc/loop-2-parallel-tile.f95: ..., and this new
|
||||
file...
|
||||
* gfortran.dg/goacc/loop-2-parallel.f95: ..., and this new file.
|
||||
|
||||
PR fortran/88420
|
||||
* gfortran.dg/goacc/loop-1-2.f95: Update.
|
||||
* gfortran.dg/goacc/loop-1.f95: Likewise.
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* See also "../../gfortran.dg/goacc/loop-2-kernels.f95". */
|
||||
|
||||
void K(void)
|
||||
{
|
||||
int i, j;
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* See also "../../gfortran.dg/goacc/loop-2-parallel.f95". */
|
||||
|
||||
void P(void)
|
||||
{
|
||||
int i, j;
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* See also "../../gfortran.dg/goacc/loop-2-parallel-3.f95". */
|
||||
|
||||
void par1 (void)
|
||||
{
|
||||
int i, j;
|
||||
|
34
gcc/testsuite/gfortran.dg/goacc/loop-2-kernels-nested.f95
Normal file
34
gcc/testsuite/gfortran.dg/goacc/loop-2-kernels-nested.f95
Normal file
@ -0,0 +1,34 @@
|
||||
program test
|
||||
implicit none
|
||||
integer :: i, j
|
||||
|
||||
!$acc kernels loop gang
|
||||
DO i = 1,10
|
||||
!$acc kernels loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop worker
|
||||
DO i = 1,10
|
||||
!$acc kernels loop worker ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop vector
|
||||
DO i = 1,10
|
||||
!$acc kernels loop vector ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
end
|
119
gcc/testsuite/gfortran.dg/goacc/loop-2-kernels-tile.f95
Normal file
119
gcc/testsuite/gfortran.dg/goacc/loop-2-kernels-tile.f95
Normal file
@ -0,0 +1,119 @@
|
||||
program test
|
||||
implicit none
|
||||
integer :: i, j
|
||||
|
||||
!$acc kernels
|
||||
!$acc loop tile ! { dg-error "Unclassifiable" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile() ! { dg-error "Syntax error" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(1)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(2)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(6-2)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(6+2)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(*, 1)
|
||||
DO i = 1,10
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop tile(-1) ! { dg-warning "must be positive" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc loop tile(i) ! { dg-error "constant expression" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
|
||||
do i = 1, 3
|
||||
do j = 4, 6
|
||||
end do
|
||||
end do
|
||||
!$acc loop tile(2, 2)
|
||||
do i = 1, 5, 2
|
||||
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
|
||||
end do
|
||||
end do
|
||||
!$acc loop vector tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc end kernels
|
||||
|
||||
!$acc kernels loop tile ! { dg-error "Unclassifiable" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop tile() ! { dg-error "Syntax error" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop tile(1)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop tile(*, 1)
|
||||
DO i = 1,10
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc kernels loop tile(-1) ! { dg-warning "must be positive" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc kernels loop tile(i) ! { dg-error "constant expression" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc kernels loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
|
||||
do i = 1, 3
|
||||
do j = 4, 6
|
||||
end do
|
||||
end do
|
||||
!$acc kernels loop tile(2, 2)
|
||||
do i = 1, 5, 2
|
||||
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
|
||||
end do
|
||||
end do
|
||||
!$acc kernels loop vector tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
end
|
190
gcc/testsuite/gfortran.dg/goacc/loop-2-kernels.f95
Normal file
190
gcc/testsuite/gfortran.dg/goacc/loop-2-kernels.f95
Normal file
@ -0,0 +1,190 @@
|
||||
! See also "../../c-c++-common/goacc/loop-2-kernels.c".
|
||||
|
||||
program test
|
||||
implicit none
|
||||
integer :: i, j
|
||||
|
||||
!$acc kernels
|
||||
!$acc loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(num:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(static:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(static:*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang
|
||||
DO i = 1,10
|
||||
!$acc loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq gang ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker(num:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker
|
||||
DO i = 1,10
|
||||
!$acc loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq worker ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector(length:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector
|
||||
DO i = 1,10
|
||||
!$acc loop vector ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq vector ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop seq auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc end kernels
|
||||
|
||||
!$acc kernels loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang(num:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang(static:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang(static:*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop seq gang ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker(num:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop seq worker ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector(length:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop seq vector ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop seq auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
end
|
56
gcc/testsuite/gfortran.dg/goacc/loop-2-parallel-3.f95
Normal file
56
gcc/testsuite/gfortran.dg/goacc/loop-2-parallel-3.f95
Normal file
@ -0,0 +1,56 @@
|
||||
! See also "../../c-c++-common/goacc/loop-3.c".
|
||||
|
||||
program test
|
||||
implicit none
|
||||
integer :: i
|
||||
|
||||
!$acc parallel
|
||||
!$acc loop gang(5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop gang(num:5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop worker(5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop worker(num:5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop vector(5) ! { dg-error "length arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop vector(length:5) ! { dg-error "length arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc end parallel
|
||||
|
||||
!$acc parallel loop gang(5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop gang(num:5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop worker(5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop worker(num:5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop vector(5) ! { dg-error "length arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop vector(length:5) ! { dg-error "length arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
end
|
34
gcc/testsuite/gfortran.dg/goacc/loop-2-parallel-nested.f95
Normal file
34
gcc/testsuite/gfortran.dg/goacc/loop-2-parallel-nested.f95
Normal file
@ -0,0 +1,34 @@
|
||||
program test
|
||||
implicit none
|
||||
integer :: i, j
|
||||
|
||||
!$acc parallel loop gang
|
||||
DO i = 1,10
|
||||
!$acc parallel loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop worker
|
||||
DO i = 1,10
|
||||
!$acc parallel loop worker ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop vector
|
||||
DO i = 1,10
|
||||
!$acc parallel loop vector ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
end
|
110
gcc/testsuite/gfortran.dg/goacc/loop-2-parallel-tile.f95
Normal file
110
gcc/testsuite/gfortran.dg/goacc/loop-2-parallel-tile.f95
Normal file
@ -0,0 +1,110 @@
|
||||
program test
|
||||
implicit none
|
||||
integer :: i, j
|
||||
|
||||
!$acc parallel
|
||||
!$acc loop tile ! { dg-error "Unclassifiable" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile() ! { dg-error "Syntax error" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(1)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(2)
|
||||
DO i = 1,10
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop tile(-1) ! { dg-warning "must be positive" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc loop tile(i) ! { dg-error "constant expression" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
|
||||
do i = 1, 3
|
||||
do j = 4, 6
|
||||
end do
|
||||
end do
|
||||
!$acc loop tile(2, 2)
|
||||
do i = 1, 5, 2
|
||||
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
|
||||
end do
|
||||
end do
|
||||
!$acc loop vector tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc end parallel
|
||||
|
||||
!$acc parallel loop tile ! { dg-error "Unclassifiable" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop tile() ! { dg-error "Syntax error" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop tile(1)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop tile(*, 1)
|
||||
DO i = 1,10
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc parallel loop tile(-1) ! { dg-warning "must be positive" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc parallel loop tile(i) ! { dg-error "constant expression" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc parallel loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
|
||||
do i = 1, 3
|
||||
do j = 4, 6
|
||||
end do
|
||||
end do
|
||||
!$acc parallel loop tile(2, 2)
|
||||
do i = 1, 5, 2
|
||||
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
|
||||
end do
|
||||
end do
|
||||
!$acc parallel loop vector tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
end
|
154
gcc/testsuite/gfortran.dg/goacc/loop-2-parallel.f95
Normal file
154
gcc/testsuite/gfortran.dg/goacc/loop-2-parallel.f95
Normal file
@ -0,0 +1,154 @@
|
||||
! See also "../../c-c++-common/goacc/loop-2-parallel.c".
|
||||
|
||||
program test
|
||||
implicit none
|
||||
integer :: i, j
|
||||
|
||||
!$acc parallel
|
||||
!$acc loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(static:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(static:*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang
|
||||
DO i = 1,10
|
||||
!$acc loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq gang ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker
|
||||
DO i = 1,10
|
||||
!$acc loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq worker ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector
|
||||
DO i = 1,10
|
||||
!$acc loop vector ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq vector ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop seq auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc end parallel
|
||||
|
||||
!$acc parallel loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang(static:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang(static:*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop seq gang ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop seq worker ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop seq vector ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop seq auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
end
|
@ -1,649 +0,0 @@
|
||||
! { dg-do compile }
|
||||
! { dg-additional-options "-fmax-errors=100" }
|
||||
|
||||
! TODO: nested kernels are allowed in 2.0
|
||||
|
||||
program test
|
||||
implicit none
|
||||
integer :: i, j
|
||||
|
||||
!$acc kernels
|
||||
!$acc loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(num:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(static:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(static:*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang
|
||||
DO i = 1,10
|
||||
!$acc loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq gang ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker(num:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker
|
||||
DO i = 1,10
|
||||
!$acc loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq worker ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector(length:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector
|
||||
DO i = 1,10
|
||||
!$acc loop vector ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq vector ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop seq auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop tile ! { dg-error "Unclassifiable" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile() ! { dg-error "Syntax error" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(1)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(2)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(6-2)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(6+2)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(*, 1)
|
||||
DO i = 1,10
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop tile(-1) ! { dg-warning "must be positive" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc loop tile(i) ! { dg-error "constant expression" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
|
||||
do i = 1, 3
|
||||
do j = 4, 6
|
||||
end do
|
||||
end do
|
||||
!$acc loop tile(2, 2)
|
||||
do i = 1, 5, 2
|
||||
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
|
||||
end do
|
||||
end do
|
||||
!$acc loop vector tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc end kernels
|
||||
|
||||
|
||||
!$acc parallel
|
||||
!$acc loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(num:5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(static:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang(static:*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang
|
||||
DO i = 1,10
|
||||
!$acc loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq gang ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker(5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker(num:5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker
|
||||
DO i = 1,10
|
||||
!$acc loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq worker ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector(5) ! { dg-error "length arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector(length:5) ! { dg-error "length arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector
|
||||
DO i = 1,10
|
||||
!$acc loop vector ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang ! { dg-error "not allowed" }
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop seq vector ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop seq auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc loop tile ! { dg-error "Unclassifiable" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile() ! { dg-error "Syntax error" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(1)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop tile(2)
|
||||
DO i = 1,10
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc loop tile(-1) ! { dg-warning "must be positive" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc loop tile(i) ! { dg-error "constant expression" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
|
||||
do i = 1, 3
|
||||
do j = 4, 6
|
||||
end do
|
||||
end do
|
||||
!$acc loop tile(2, 2)
|
||||
do i = 1, 5, 2
|
||||
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
|
||||
end do
|
||||
end do
|
||||
!$acc loop vector tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop vector worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc loop gang worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc end parallel
|
||||
|
||||
!$acc kernels loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang(num:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang(static:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang(static:*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang
|
||||
DO i = 1,10
|
||||
!$acc kernels loop gang
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc kernels loop seq gang ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker(num:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker
|
||||
DO i = 1,10
|
||||
!$acc kernels loop worker
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc kernels loop seq worker ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector(5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector(length:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector
|
||||
DO i = 1,10
|
||||
!$acc kernels loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc kernels loop seq vector ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop seq auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc kernels loop tile ! { dg-error "Unclassifiable" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop tile() ! { dg-error "Syntax error" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop tile(1)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop tile(*, 1)
|
||||
DO i = 1,10
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc kernels loop tile(-1) ! { dg-warning "must be positive" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc kernels loop tile(i) ! { dg-error "constant expression" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc kernels loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
|
||||
do i = 1, 3
|
||||
do j = 4, 6
|
||||
end do
|
||||
end do
|
||||
!$acc kernels loop tile(2, 2)
|
||||
do i = 1, 5, 2
|
||||
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
|
||||
end do
|
||||
end do
|
||||
!$acc kernels loop vector tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop vector worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc kernels loop gang worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang(5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang(num:5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang(static:5)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang(static:*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang
|
||||
DO i = 1,10
|
||||
!$acc parallel loop gang
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc parallel loop seq gang ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker(5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker(num:5) ! { dg-error "num arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker
|
||||
DO i = 1,10
|
||||
!$acc parallel loop worker
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc parallel loop seq worker ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang worker
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector(5) ! { dg-error "length arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector(length:5) ! { dg-error "length arguments" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector
|
||||
DO i = 1,10
|
||||
!$acc parallel loop vector
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc parallel loop seq vector ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker vector
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop auto
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop seq auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector auto ! { dg-error "conflicts with" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
|
||||
!$acc parallel loop tile ! { dg-error "Unclassifiable" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop tile() ! { dg-error "Syntax error" }
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop tile(1)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop tile(*, 1)
|
||||
DO i = 1,10
|
||||
DO j = 1,10
|
||||
ENDDO
|
||||
ENDDO
|
||||
!$acc parallel loop tile(-1) ! { dg-warning "must be positive" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc parallel loop tile(i) ! { dg-error "constant expression" }
|
||||
do i = 1,10
|
||||
enddo
|
||||
!$acc parallel loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
|
||||
do i = 1, 3
|
||||
do j = 4, 6
|
||||
end do
|
||||
end do
|
||||
!$acc parallel loop tile(2, 2)
|
||||
do i = 1, 5, 2
|
||||
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
|
||||
end do
|
||||
end do
|
||||
!$acc parallel loop vector tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector gang tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop vector worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
!$acc parallel loop gang worker tile(*)
|
||||
DO i = 1,10
|
||||
ENDDO
|
||||
end
|
Loading…
Reference in New Issue
Block a user