v++
Папка для загрузок, и пропущенный баг с настройками визуализатора.
This commit is contained in:
12
Downloads/bugreport_1737466258/test_routine_4/p2/call.for
Normal file
12
Downloads/bugreport_1737466258/test_routine_4/p2/call.for
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
! *** generated by SAPFOR with version 2237 and build date: Nov 8 2023 13:50:20
|
||||
! *** Enabled options ***:
|
||||
! *** consider DVMH directives
|
||||
! *** generated by SAPFOR
|
||||
pure double precision function calculate (value)
|
||||
!DVM$ ROUTINE
|
||||
double precision :: value
|
||||
intent(in) value
|
||||
calculate = value / 6
|
||||
end
|
||||
|
||||
240
Downloads/bugreport_1737466258/test_routine_4/p2/contains31.for
Normal file
240
Downloads/bugreport_1737466258/test_routine_4/p2/contains31.for
Normal file
@@ -0,0 +1,240 @@
|
||||
|
||||
! *** generated by SAPFOR with version 2237 and build date: Nov 8 2023 13:50:20
|
||||
! *** Enabled options ***:
|
||||
! *** consider DVMH directives
|
||||
! *** generated by SAPFOR
|
||||
program contains1
|
||||
|
||||
!
|
||||
! integer ,parameter:: nxd = 32,nyd = 64,nzd = 32,itmaxd = 50
|
||||
integer ,parameter:: nxd = 4,nyd = 4,nzd = 4,itmaxd = 2
|
||||
|
||||
!DVM$ ALIGN :: a
|
||||
!DVM$ ALIGN :: b
|
||||
!DVM$ ALIGN :: a2
|
||||
!DVM$ ALIGN :: b2
|
||||
!DVM$ DYNAMIC a,a2,b,b2
|
||||
double precision ,dimension(:,:,:):: a,b,a2,b2
|
||||
!DVM$ SHADOW a2( 1:1,1:1,1:1 )
|
||||
!DVM$ SHADOW a( 1:1,1:1,1:1 )
|
||||
allocatable:: a,b,a2,b2
|
||||
|
||||
! DVM$ ALIGN (I,J,K) WITH A(I,J,K):: B,A2,B2
|
||||
! DVM$ DISTRIBUTE (BLOCK,BLOCK,BLOCK):: A
|
||||
double precision :: relax2,eps1,eps2,calculate
|
||||
character(len=9) :: tname='contains1'
|
||||
!DVM$ TEMPLATE,COMMON:: dvmh_temp0(1:4,1:4,1:4)
|
||||
!DVM$ DISTRIBUTE (BLOCK,BLOCK,BLOCK) :: dvmh_temp0
|
||||
!DVM$ DYNAMIC dvmh_temp0
|
||||
|
||||
!---------------------------------------------------------------------
|
||||
! Read input file (if it exists), else take
|
||||
! defaults from parameters
|
||||
!---------------------------------------------------------------------
|
||||
! open (unit=2,file='input.dat',status='old', iostat=istatus)
|
||||
!
|
||||
! if (istatus .eq. 0) then
|
||||
! read (2,*) nx,ny,nz
|
||||
! read (2,*) itmax
|
||||
! close(2)
|
||||
! else
|
||||
nx = nxd
|
||||
ny = nyd
|
||||
nz = nzd
|
||||
itmax = itmaxd
|
||||
|
||||
! endif
|
||||
allocate(a(nx,ny,nz),b(nx,ny,nz))
|
||||
|
||||
!DVM$ REALIGN a(iEX1,iEX2,iEX3) WITH dvmh_temp0(iEX1,iEX2,iEX3)
|
||||
!DVM$ REALIGN b(iEX1,iEX2,iEX3) WITH dvmh_temp0(iEX1,iEX2,iEX3)
|
||||
continue
|
||||
allocate(a2(nx,ny,nz),b2(nx,ny,nz))
|
||||
|
||||
!DVM$ REALIGN a2(iEX1,iEX2,iEX3) WITH dvmh_temp0(iEX1,iEX2,iEX3)
|
||||
!DVM$ REALIGN b2(iEX1,iEX2,iEX3) WITH dvmh_temp0(iEX1,iEX2,iEX3)
|
||||
continue
|
||||
call init(a,nx,ny,nz)
|
||||
call init(a2,nx,ny,nz)
|
||||
|
||||
!ВМЬ
|
||||
! ITERATIONS
|
||||
do it = 1,itmax
|
||||
eps1 = relax1 ()
|
||||
eps2 = relax2 (a2,b2,nx,ny,nz)
|
||||
enddo
|
||||
|
||||
! END ITERATIONS
|
||||
deallocate(a,b,a2,b2)
|
||||
if (eps1 .eq. eps2) then
|
||||
call ansyes(tname)
|
||||
else
|
||||
call ansno(tname)
|
||||
endif
|
||||
contains
|
||||
|
||||
|
||||
!---------------------------------------------------------------------
|
||||
!---------------------------------------------------------------------
|
||||
double precision function relax1 ()
|
||||
|
||||
!---------------------------------------------------------------------
|
||||
!---------------------------------------------------------------------
|
||||
double precision :: eps,bt
|
||||
interface
|
||||
|
||||
pure double precision function calculate (value)
|
||||
!DVM$ ROUTINE
|
||||
double precision :: value
|
||||
intent(in) value
|
||||
end function
|
||||
end interface
|
||||
|
||||
! DVM$ PARALLEL (K,J,I) ON B(I,J,K), SHADOW_RENEW (A)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (k,j,i) ON b(i,j,k), PRIVATE (i,j,k),SHADOW_RENEW (a)
|
||||
do k = 2,nz - 1
|
||||
do j = 2,ny - 1
|
||||
do i = 2,nx - 1
|
||||
b(i,j,k) = calculate (a(i - 1,j,k) + a(i + 1,j,k) + a(i,j
|
||||
& - 1,k) + a(i,j + 1,k) + a(i,j,k - 1) + a(i,j,k + 1))
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
!DVM$ END REGION
|
||||
|
||||
! print *, b
|
||||
eps = 0.d0
|
||||
|
||||
! DVM$ PARALLEL (K,J,I) ON A(I,J,K), REDUCTION (MAX(EPS))
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (k,j,i) ON a(i,j,k), PRIVATE (bt,i,j,k),REDUCTION (max (e
|
||||
!DVM$&ps))
|
||||
do k = 2,nz - 1
|
||||
do j = 2,ny - 1
|
||||
do i = 2,nx - 1
|
||||
bt = b(i,j,k)
|
||||
eps = max (eps,abs (bt - a(i,j,k)))
|
||||
a(i,j,k) = bt
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
!DVM$ END REGION
|
||||
relax1 = eps
|
||||
end function
|
||||
end
|
||||
|
||||
|
||||
!---------------------------------------------------------------------
|
||||
!---------------------------------------------------------------------
|
||||
subroutine init (a, nx, ny, nz)
|
||||
!DVM$ INHERIT a
|
||||
!DVM$ DYNAMIC a
|
||||
|
||||
!---------------------------------------------------------------------
|
||||
!---------------------------------------------------------------------
|
||||
!DVM$ TEMPLATE, COMMON :: dvmh_temp0(1:4,1:4,1:4)
|
||||
!DVM$ DISTRIBUTE dvmh_temp0(BLOCK,BLOCK,BLOCK)
|
||||
!DVM$ DYNAMIC dvmh_temp0
|
||||
double precision :: a(nx,ny,nz),sol
|
||||
|
||||
! DVM$ INHERIT A
|
||||
integer :: nx,ny,nz
|
||||
intent(inout) a
|
||||
intent(in) nz,ny,nx
|
||||
|
||||
! solution (i, j, k) = 10. * (i - 1) / (nx - 1) + 10. * (j - 1) / (n
|
||||
! &y - 1) + 10. * (k - 1) / (nz - 1)
|
||||
!DVM$ INTERVAL 1
|
||||
|
||||
! DVM$ PARALLEL (K,J,I) ON A(I,J,K)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (k,j,i) ON a(i,j,k), PRIVATE (i,j,k)
|
||||
do k = 1,nz
|
||||
do j = 1,ny
|
||||
do i = 1,nx
|
||||
if (k .eq. 1 .or. k .eq. nz .or. j .eq. 1 .or. j .eq. ny
|
||||
&.or. i .eq. 1 .or. i .eq. nx) then
|
||||
a(i,j,k) = sol (i,j,k,nx,ny,nz)
|
||||
else
|
||||
a(i,j,k) = 0.d0
|
||||
endif
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
!DVM$ END REGION
|
||||
!DVM$ END INTERVAL
|
||||
end
|
||||
|
||||
|
||||
!---------------------------------------------------------------------
|
||||
!---------------------------------------------------------------------
|
||||
double precision function relax2 (a, b, nx, ny, nz)
|
||||
!DVM$ INHERIT b,a
|
||||
!DVM$ DYNAMIC b,a
|
||||
|
||||
!---------------------------------------------------------------------
|
||||
!---------------------------------------------------------------------
|
||||
!DVM$ TEMPLATE, COMMON :: dvmh_temp0(1:4,1:4,1:4)
|
||||
!DVM$ DISTRIBUTE dvmh_temp0(BLOCK,BLOCK,BLOCK)
|
||||
!DVM$ DYNAMIC dvmh_temp0
|
||||
double precision :: a(nx,ny,nz),b(nx,ny,nz),eps,bt
|
||||
|
||||
! DVM$ INHERIT A,B
|
||||
integer :: nx,ny,nz
|
||||
intent(inout) b,a
|
||||
intent(in) nz,ny,nx
|
||||
interface
|
||||
|
||||
pure double precision function calculate (value)
|
||||
!DVM$ ROUTINE
|
||||
double precision :: value
|
||||
intent(in) value
|
||||
end function
|
||||
end interface
|
||||
|
||||
! DVM$ PARALLEL (K,J,I) ON B(I,J,K), SHADOW_RENEW (A)
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (k,j,i) ON b(i,j,k), PRIVATE (i,j,k),SHADOW_RENEW (a)
|
||||
do k = 2,nz - 1
|
||||
do j = 2,ny - 1
|
||||
do i = 2,nx - 1
|
||||
b(i,j,k) = calculate (a(i - 1,j,k) + a(i + 1,j,k) + a(i,j
|
||||
& - 1,k) + a(i,j + 1,k) + a(i,j,k - 1) + a(i,j,k + 1))
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
!DVM$ END REGION
|
||||
|
||||
! print *,b
|
||||
eps = 0.d0
|
||||
|
||||
! DVM$ PARALLEL (K,J,I) ON A(I,J,K), REDUCTION (MAX(EPS))
|
||||
!DVM$ REGION
|
||||
!DVM$ PARALLEL (k,j,i) ON a(i,j,k), PRIVATE (bt,i,j,k),REDUCTION (max (e
|
||||
!DVM$&ps))
|
||||
do k = 2,nz - 1
|
||||
do j = 2,ny - 1
|
||||
do i = 2,nx - 1
|
||||
bt = b(i,j,k)
|
||||
eps = max (eps,abs (bt - a(i,j,k)))
|
||||
a(i,j,k) = bt
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
!DVM$ END REGION
|
||||
relax2 = eps
|
||||
end
|
||||
|
||||
subroutine ansyes (name)
|
||||
character(len=9) :: name
|
||||
intent(in) name
|
||||
print *, name,' - complete'
|
||||
end
|
||||
|
||||
subroutine ansno (name)
|
||||
character(len=9) :: name
|
||||
intent(in) name
|
||||
print *, name,' - ***error'
|
||||
end
|
||||
|
||||
19
Downloads/bugreport_1737466258/test_routine_4/p2/sol.for
Normal file
19
Downloads/bugreport_1737466258/test_routine_4/p2/sol.for
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
! *** generated by SAPFOR with version 2237 and build date: Nov 8 2023 13:50:20
|
||||
! *** Enabled options ***:
|
||||
! *** consider DVMH directives
|
||||
! *** generated by SAPFOR
|
||||
double precision function sol (ii, jj, kk, nx, ny, nz)
|
||||
integer :: ii,jj,kk,nx,ny,nz
|
||||
double precision :: val
|
||||
intent(in) nz,ny,nx,kk,jj,ii
|
||||
sol = 10. * val (ii,jj,kk,nx,ny,nz)
|
||||
end
|
||||
|
||||
pure double precision function val (ii, jj, kk, nx, ny, nz)
|
||||
integer :: ii,jj,kk,nx,ny,nz
|
||||
intent(in) nz,ny,nx,kk,jj,ii
|
||||
val = (ii - 1) / (nx - 1) + (jj - 1) / (ny - 1) + (kk - 1) / (nz -
|
||||
& 1)
|
||||
end
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
Wed Nov 8 19:40:29 2023: create and connect to server socket with port 3031
|
||||
Wed Nov 8 19:40:29 2023: done
|
||||
Wed Nov 8 19:40:29 2023: start main communications
|
||||
Wed Nov 8 19:40:29 2023: wait for command from server
|
||||
Wed Nov 8 19:40:29 2023: done with message size 37
|
||||
Wed Nov 8 19:40:29 2023: decode message as analysis
|
||||
Wed Nov 8 19:40:29 2023: send results to server
|
||||
Wed Nov 8 19:40:29 2023: done with code 0
|
||||
Wed Nov 8 19:40:29 2023: wait for command from server
|
||||
Wed Nov 8 19:40:29 2023: done with message size 119
|
||||
Wed Nov 8 19:40:29 2023: decode message as analysis
|
||||
Wed Nov 8 19:40:29 2023: send results to server
|
||||
Wed Nov 8 19:40:29 2023: done with code 0
|
||||
Wed Nov 8 19:40:29 2023: wait for command from server
|
||||
Wed Nov 8 19:42:32 2023: done with message size 271
|
||||
Wed Nov 8 19:42:32 2023: decode message as analysis
|
||||
Wed Nov 8 19:42:33 2023: send results to server
|
||||
Wed Nov 8 19:42:33 2023: done with code 0
|
||||
Wed Nov 8 19:42:33 2023: wait for command from server
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
E:/USERS/Olga/WORK/VISUAL_prj/VISUAL_PRIVATE_ROUTINE_Kolganov/test_routine_4/p2/visualiser_data/options/call.for.dep
|
||||
E:/USERS/Olga/WORK/VISUAL_prj/VISUAL_PRIVATE_ROUTINE_Kolganov/test_routine_4/p2/visualiser_data/options/contains31.for.dep
|
||||
E:/USERS/Olga/WORK/VISUAL_prj/VISUAL_PRIVATE_ROUTINE_Kolganov/test_routine_4/p2/visualiser_data/options/sol.for.dep
|
||||
Reference in New Issue
Block a user