![]() |
Blitz Support : |
From: Atkinson (lee.atkinson_at_[hidden])
Date: 2004-04-12 09:34:28
Todd Veldhuizen:
Todd,
I recently ran the code attached using both TNT and Blitz-0.6. I was
surprised to see such a slow throughput as compared to TNT.
Is there a more optimized way to compile to achieve a more equivalent
performance?
The compile line is in exp9.cc.
Thanks in Advance for your help!
Lee Atkinson, Sr. SW ENG, CTR
Targacept, Inc
336-480-2232
-- Have A Great Day!
! FILENAME: arraytest.f90
!
! ifort -c arraytest.f90
!
SUBROUTINE init_2d_array(M, N, thisarray)
IMPLICIT NONE
INTEGER*4 :: M,N
INTEGER*4, TARGET :: thisarray(M,N)
! local integers
INTEGER :: i, j
do i=1,M
do j=1,N
thisarray(j,i)=(i*N)+j
end do
end do
END SUBROUTINE init_2d_array
SUBROUTINE cycle_2d_array(iters, size, thisarray)
IMPLICIT NONE
INTEGER*4 :: iters
INTEGER*4 :: size
INTEGER*4, TARGET :: thisarray(size,size)
! local integers
INTEGER :: i, j, k
do k=1,iters
do i=1,10
do j=1,10
thisarray(j,i)=19
end do
end do
end do
END SUBROUTINE cycle_2d_array
SUBROUTINE init_3d_array(N, M, L, thisarray)
IMPLICIT NONE
INTEGER*4 :: N, M, L
INTEGER*4, TARGET :: thisarray(N,M,L)
! local integers
INTEGER :: i, j, k
do k=1,L
do j=1,M
do i=1,N
thisarray(i,j,k)=(i - 1) + ((j - 1)*8) + ((k - 1)*32)
end do
end do
end do
END SUBROUTINE init_3d_array
SUBROUTINE test_3d()
IMPLICIT NONE
INTEGER*4, PARAMETER :: N = 8
INTEGER*4, PARAMETER :: M = 4
INTEGER*4, PARAMETER :: L = 2
INTEGER*4 :: thisarray(N,M,L)
! local integers
INTEGER :: i, j, k
call init_3d_array(N, M, L, thisarray)
do k=1,L
do j=1,M
do i=1,N
write(*,*) i, j, k, thisarray(i,j,k)
end do
end do
end do
END SUBROUTINE test_3d