finalyze moving
This commit is contained in:
23
tests/sapfor/merge_regions/array_read_before_write.in
Normal file
23
tests/sapfor/merge_regions/array_read_before_write.in
Normal file
@@ -0,0 +1,23 @@
|
||||
program jac2d
|
||||
parameter (l = 8000,itmax = 100)
|
||||
real a(l,l),eps,maxeps,b(l,l)
|
||||
double precision startt,endt,dvtime
|
||||
|
||||
|
||||
b(1,1) = 2.0
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
a(i,j) = i*j+b(1,1)
|
||||
enddo
|
||||
enddo
|
||||
b(1,1) = 3.0
|
||||
a(1,1) = 10
|
||||
eps = 15
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
b(i,j) = 0. + a(i,j) + eps
|
||||
enddo
|
||||
enddo
|
||||
|
||||
maxeps = eps
|
||||
end
|
||||
36
tests/sapfor/merge_regions/array_read_before_write.out
Normal file
36
tests/sapfor/merge_regions/array_read_before_write.out
Normal file
@@ -0,0 +1,36 @@
|
||||
PROGRAM JAC2D
|
||||
PARAMETER (L = 8000,ITMAX = 100)
|
||||
|
||||
!DVM$ ALIGN A(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ ALIGN B(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ DYNAMIC A,B
|
||||
REAL :: A(L,L),EPS,MAXEPS,B(L,L)
|
||||
DOUBLE PRECISION :: STARTT,ENDT,DVTIME
|
||||
!DVM$ TEMPLATE,COMMON:: DVMH_TEMP0(1:8000,1:8000)
|
||||
!DVM$ DISTRIBUTE (BLOCK,BLOCK) :: DVMH_TEMP0
|
||||
!DVM$ DYNAMIC DVMH_TEMP0
|
||||
B(1,1) = 2.0
|
||||
!DVM$ ACTUAL (B)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON A(I,J), REMOTE_ACCESS (B(1,1)),PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
A(I,J) = I * J + B(1,1)
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
B(1,1) = 3.0
|
||||
!DVM$ ACTUAL (B)
|
||||
A(1,1) = 10
|
||||
!DVM$ ACTUAL (A)
|
||||
EPS = 15
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON B(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
B(I,J) = 0. + A(I,J) + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
MAXEPS = EPS
|
||||
END
|
||||
21
tests/sapfor/merge_regions/read_before_read.in
Normal file
21
tests/sapfor/merge_regions/read_before_read.in
Normal file
@@ -0,0 +1,21 @@
|
||||
program jac2d
|
||||
parameter (l = 8000,itmax = 100)
|
||||
real a(l,l),eps,maxeps,b(l,l)
|
||||
double precision startt,endt,dvtime
|
||||
|
||||
|
||||
b(1,1) = 2.0
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
a(i,j) = i*j+eps
|
||||
enddo
|
||||
enddo
|
||||
a(1,1) = 10+eps
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
b(i,j) = 0. + a(i,j) + eps
|
||||
enddo
|
||||
enddo
|
||||
|
||||
maxeps = eps
|
||||
end
|
||||
32
tests/sapfor/merge_regions/read_before_read.out
Normal file
32
tests/sapfor/merge_regions/read_before_read.out
Normal file
@@ -0,0 +1,32 @@
|
||||
PROGRAM JAC2D
|
||||
PARAMETER (L = 8000,ITMAX = 100)
|
||||
|
||||
!DVM$ ALIGN A(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ ALIGN B(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ DYNAMIC A,B
|
||||
REAL :: A(L,L),EPS,MAXEPS,B(L,L)
|
||||
DOUBLE PRECISION :: STARTT,ENDT,DVTIME
|
||||
!DVM$ TEMPLATE,COMMON:: DVMH_TEMP0(1:8000,1:8000)
|
||||
!DVM$ DISTRIBUTE (BLOCK,BLOCK) :: DVMH_TEMP0
|
||||
!DVM$ DYNAMIC DVMH_TEMP0
|
||||
B(1,1) = 2.0
|
||||
!DVM$ ACTUAL (B)
|
||||
A(1,1) = 10 + EPS
|
||||
!DVM$ ACTUAL (A)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON A(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
A(I,J) = I * J + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ PARALLEL (J,I) ON B(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
B(I,J) = 0. + A(I,J) + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
MAXEPS = EPS
|
||||
END
|
||||
|
||||
23
tests/sapfor/merge_regions/read_in_loop_header.in
Normal file
23
tests/sapfor/merge_regions/read_in_loop_header.in
Normal file
@@ -0,0 +1,23 @@
|
||||
program jac2d
|
||||
parameter (l = 8000,itmax = 100)
|
||||
real a(l,l),eps,maxeps,b(l,l)
|
||||
double precision startt,endt,dvtime
|
||||
|
||||
|
||||
b(1,1) = 2.0
|
||||
do j = 1,l+eps
|
||||
do i = 1,l
|
||||
a(i,j) = i*j
|
||||
enddo
|
||||
enddo
|
||||
b(1,1) = 3.0
|
||||
a(1,1) = 10
|
||||
eps = 15
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
b(i,j) = 0. + a(i,j) + eps
|
||||
enddo
|
||||
enddo
|
||||
|
||||
maxeps = eps
|
||||
end
|
||||
36
tests/sapfor/merge_regions/read_in_loop_header.out
Normal file
36
tests/sapfor/merge_regions/read_in_loop_header.out
Normal file
@@ -0,0 +1,36 @@
|
||||
PROGRAM JAC2D
|
||||
PARAMETER (L = 8000,ITMAX = 100)
|
||||
|
||||
!DVM$ ALIGN A(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ ALIGN B(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ DYNAMIC A,B
|
||||
REAL :: A(L,L),EPS,MAXEPS,B(L,L)
|
||||
DOUBLE PRECISION :: STARTT,ENDT,DVTIME
|
||||
!DVM$ TEMPLATE,COMMON:: DVMH_TEMP0(1:8000,1:8000)
|
||||
!DVM$ DISTRIBUTE (BLOCK,BLOCK) :: DVMH_TEMP0
|
||||
!DVM$ DYNAMIC DVMH_TEMP0
|
||||
B(1,1) = 2.0
|
||||
!DVM$ ACTUAL (B)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON A(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L + EPS
|
||||
DO I = 1,L
|
||||
A(I,J) = I * J
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
B(1,1) = 3.0
|
||||
!DVM$ ACTUAL (B)
|
||||
A(1,1) = 10
|
||||
!DVM$ ACTUAL (A)
|
||||
EPS = 15
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON B(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
B(I,J) = 0. + A(I,J) + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
MAXEPS = EPS
|
||||
END
|
||||
28
tests/sapfor/merge_regions/var_modified_in_fun.in
Normal file
28
tests/sapfor/merge_regions/var_modified_in_fun.in
Normal file
@@ -0,0 +1,28 @@
|
||||
program jac2d
|
||||
parameter (l = 8000,itmax = 100)
|
||||
real a(l,l),eps,maxeps,b(l,l)
|
||||
double precision startt,endt,dvtime
|
||||
|
||||
|
||||
b(1,1) = 2.0
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
a(i,j) = i*a(i,j)+eps
|
||||
enddo
|
||||
enddo
|
||||
b(1,1) = 10 + func(b,eps)
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
b(i,j) = 0. + a(i,j) + eps
|
||||
enddo
|
||||
enddo
|
||||
|
||||
maxeps = eps
|
||||
end
|
||||
|
||||
function func(a,b) result(j)
|
||||
real :: a(l,l) ! input
|
||||
real :: b ! input
|
||||
real :: j ! output
|
||||
b = a(1,1)*5+b
|
||||
end function func
|
||||
57
tests/sapfor/merge_regions/var_modified_in_fun.out
Normal file
57
tests/sapfor/merge_regions/var_modified_in_fun.out
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
! *** generated by SAPFOR with version 1473 and build date: Dec 24 2019 21:52:22
|
||||
PROGRAM JAC2D
|
||||
PARAMETER (L = 8000,ITMAX = 100)
|
||||
|
||||
!DVM$ ALIGN A(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ ALIGN B(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ DYNAMIC A,B
|
||||
REAL :: A(L,L),EPS,MAXEPS,B(L,L)
|
||||
DOUBLE PRECISION :: STARTT,ENDT,DVTIME
|
||||
!DVM$ TEMPLATE,COMMON:: DVMH_TEMP0(1:8000,1:8000)
|
||||
!DVM$ DISTRIBUTE (BLOCK,BLOCK) :: DVMH_TEMP0
|
||||
!DVM$ DYNAMIC DVMH_TEMP0
|
||||
B(1,1) = 2.0
|
||||
!DVM$ ACTUAL (B)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON A(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
A(I,J) = I * A(I,J) + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
!DVM$ GET_ACTUAL (B)
|
||||
B(1,1) = 10 + FUNC (B,EPS)
|
||||
!DVM$ ACTUAL (B)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON B(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
B(I,J) = 0. + A(I,J) + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
MAXEPS = EPS
|
||||
END
|
||||
|
||||
FUNCTION FUNC (A, B) RESULT(J)
|
||||
!DVM$ INHERIT A
|
||||
!DVM$ DYNAMIC A
|
||||
|
||||
! input
|
||||
!DVM$ TEMPLATE, COMMON :: DVMH_TEMP0(1:8000,1:8000)
|
||||
!DVM$ DISTRIBUTE DVMH_TEMP0(BLOCK,BLOCK)
|
||||
!DVM$ DYNAMIC DVMH_TEMP0
|
||||
REAL :: A(L,L)
|
||||
|
||||
! input
|
||||
REAL :: B
|
||||
|
||||
! output
|
||||
REAL :: J
|
||||
!DVM$ GET_ACTUAL (A)
|
||||
!DVM$ REMOTE_ACCESS (A(1,1))
|
||||
B = A(1,1) * 5 + B
|
||||
END
|
||||
|
||||
24
tests/sapfor/merge_regions/var_read_before_write.in
Normal file
24
tests/sapfor/merge_regions/var_read_before_write.in
Normal file
@@ -0,0 +1,24 @@
|
||||
program jac2d
|
||||
parameter (l = 8000,itmax = 100)
|
||||
real a(l,l),eps,maxeps,b(l,l)
|
||||
double precision startt,endt,dvtime
|
||||
|
||||
|
||||
b(1,1) = 2.0
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
a(i,j) = i*j+eps
|
||||
enddo
|
||||
enddo
|
||||
b(1,1) = 3.0
|
||||
a(1,1) = 10
|
||||
eps = 15
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
b(i,j) = 0. + a(i,j) + eps
|
||||
enddo
|
||||
enddo
|
||||
|
||||
maxeps = eps
|
||||
end
|
||||
|
||||
36
tests/sapfor/merge_regions/var_read_before_write.out
Normal file
36
tests/sapfor/merge_regions/var_read_before_write.out
Normal file
@@ -0,0 +1,36 @@
|
||||
PROGRAM JAC2D
|
||||
PARAMETER (L = 8000,ITMAX = 100)
|
||||
|
||||
!DVM$ ALIGN A(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ ALIGN B(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ DYNAMIC A,B
|
||||
REAL :: A(L,L),EPS,MAXEPS,B(L,L)
|
||||
DOUBLE PRECISION :: STARTT,ENDT,DVTIME
|
||||
!DVM$ TEMPLATE,COMMON:: DVMH_TEMP0(1:8000,1:8000)
|
||||
!DVM$ DISTRIBUTE (BLOCK,BLOCK) :: DVMH_TEMP0
|
||||
!DVM$ DYNAMIC DVMH_TEMP0
|
||||
B(1,1) = 2.0
|
||||
!DVM$ ACTUAL (B)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON A(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
A(I,J) = I * J + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
B(1,1) = 3.0
|
||||
!DVM$ ACTUAL (B)
|
||||
A(1,1) = 10
|
||||
!DVM$ ACTUAL (A)
|
||||
EPS = 15
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON B(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
B(I,J) = 0. + A(I,J) + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
MAXEPS = EPS
|
||||
END
|
||||
23
tests/sapfor/merge_regions/write_before_read.in
Normal file
23
tests/sapfor/merge_regions/write_before_read.in
Normal file
@@ -0,0 +1,23 @@
|
||||
program jac2d
|
||||
parameter (l = 8000,itmax = 100)
|
||||
real a(l,l),eps,maxeps,b(l,l)
|
||||
double precision startt,endt,dvtime
|
||||
|
||||
|
||||
b(1,1) = 2.0
|
||||
do j = 1,l+eps
|
||||
do i = 1,l
|
||||
a(i,j) = i*j
|
||||
enddo
|
||||
enddo
|
||||
b(1,1) = 3.0+a(1,1)
|
||||
a(1,1) = 10
|
||||
eps = 15
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
b(i,j) = 0. + a(i,j) + eps
|
||||
enddo
|
||||
enddo
|
||||
|
||||
maxeps = eps
|
||||
end
|
||||
38
tests/sapfor/merge_regions/write_before_read.out
Normal file
38
tests/sapfor/merge_regions/write_before_read.out
Normal file
@@ -0,0 +1,38 @@
|
||||
PROGRAM JAC2D
|
||||
PARAMETER (L = 8000,ITMAX = 100)
|
||||
|
||||
!DVM$ ALIGN A(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ ALIGN B(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ DYNAMIC A,B
|
||||
REAL :: A(L,L),EPS,MAXEPS,B(L,L)
|
||||
DOUBLE PRECISION :: STARTT,ENDT,DVTIME
|
||||
!DVM$ TEMPLATE,COMMON:: DVMH_TEMP0(1:8000,1:8000)
|
||||
!DVM$ DISTRIBUTE (BLOCK,BLOCK) :: DVMH_TEMP0
|
||||
!DVM$ DYNAMIC DVMH_TEMP0
|
||||
B(1,1) = 2.0
|
||||
!DVM$ ACTUAL (B)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON A(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L + EPS
|
||||
DO I = 1,L
|
||||
A(I,J) = I * J
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
!DVM$ GET_ACTUAL (A)
|
||||
!DVM$ REMOTE_ACCESS (A(1,1))
|
||||
B(1,1) = 3.0 + A(1,1)
|
||||
!DVM$ ACTUAL (B)
|
||||
A(1,1) = 10
|
||||
!DVM$ ACTUAL (A)
|
||||
EPS = 15
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON B(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
B(I,J) = 0. + A(I,J) + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
MAXEPS = EPS
|
||||
END
|
||||
23
tests/sapfor/merge_regions/write_before_write.in
Normal file
23
tests/sapfor/merge_regions/write_before_write.in
Normal file
@@ -0,0 +1,23 @@
|
||||
program jac2d
|
||||
parameter (l = 8000,itmax = 100)
|
||||
real a(l,l),eps,maxeps,b(l,l)
|
||||
double precision startt,endt,dvtime
|
||||
|
||||
|
||||
b(1,1) = 2.0
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
a(i,j) = i*j
|
||||
enddo
|
||||
enddo
|
||||
b(1,1) = 3.0
|
||||
a(1,1) = 10
|
||||
eps = 15
|
||||
do j = 1,l
|
||||
do i = 1,l
|
||||
b(i,j) = 0. + a(i,j) + eps
|
||||
enddo
|
||||
enddo
|
||||
|
||||
maxeps = eps
|
||||
end
|
||||
34
tests/sapfor/merge_regions/write_before_write.out
Normal file
34
tests/sapfor/merge_regions/write_before_write.out
Normal file
@@ -0,0 +1,34 @@
|
||||
PROGRAM JAC2D
|
||||
PARAMETER (L = 8000,ITMAX = 100)
|
||||
|
||||
!DVM$ ALIGN A(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ ALIGN B(IEX1,IEX2) WITH DVMH_TEMP0(IEX1,IEX2)
|
||||
!DVM$ DYNAMIC A,B
|
||||
REAL :: A(L,L),EPS,MAXEPS,B(L,L)
|
||||
DOUBLE PRECISION :: STARTT,ENDT,DVTIME
|
||||
!DVM$ TEMPLATE,COMMON:: DVMH_TEMP0(1:8000,1:8000)
|
||||
!DVM$ DISTRIBUTE (BLOCK,BLOCK) :: DVMH_TEMP0
|
||||
!DVM$ DYNAMIC DVMH_TEMP0
|
||||
B(1,1) = 2.0
|
||||
!DVM$ ACTUAL (B)
|
||||
B(1,1) = 3.0
|
||||
!DVM$ ACTUAL (B)
|
||||
A(1,1) = 10
|
||||
!DVM$ ACTUAL (A)
|
||||
EPS = 15
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (J,I) ON A(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
A(I,J) = I * J
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ PARALLEL (J,I) ON B(I,J), PRIVATE (J,I)
|
||||
DO J = 1,L
|
||||
DO I = 1,L
|
||||
B(I,J) = 0. + A(I,J) + EPS
|
||||
ENDDO
|
||||
ENDDO
|
||||
!DVM$ END REGION
|
||||
MAXEPS = EPS
|
||||
END
|
||||
Reference in New Issue
Block a user