Blitz logo

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