Mudanças entre as edições de "Timing"

De WikiLICC
Ir para: navegação, pesquisa
m
m
Linha 1: Linha 1:
 
Testando vetorização:
 
Testando vetorização:
 +
* Maior problema alocável: 154Mb * 3*4 = 1.8Gb
 +
 
  ! http://goparallel.sourceforge.net/optimizing-loops-vectorization/
 
  ! http://goparallel.sourceforge.net/optimizing-loops-vectorization/
 
  program Vectorization
 
  program Vectorization
 
  use portlib
 
  use portlib
 
  real(4),dimension(:),allocatable  ::  x,y,z
 
  real(4),dimension(:),allocatable  ::  x,y,z
  integer                          ::  len=110000000
+
  integer                          ::  len=154*1024*1024 ! 154 Mb
 
  real(4)                          ::  timing
 
  real(4)                          ::  timing
 
   
 
   
Linha 20: Linha 22:
 
  end do
 
  end do
 
  end program
 
  end program
 +
 +
* Resultados
 +
Memory                  867Kb 
 +
Debug (no optimization)  1.501 s
 +
Optimization            0.11  s

Edição das 22h59min de 19 de junho de 2012

Testando vetorização:

  • Maior problema alocável: 154Mb * 3*4 = 1.8Gb
! http://goparallel.sourceforge.net/optimizing-loops-vectorization/
program Vectorization
use portlib
real(4),dimension(:),allocatable  ::  x,y,z
integer                           ::  len=154*1024*1024 ! 154 Mb
real(4)                           ::  timing

allocate( x(len) ,stat=ierr)
allocate( y(len) ,stat=ierr)
allocate( z(len) ,stat=ierr)

do j=1,10
timing = secnds(0.0)
do i=1,len
  z(i)=sqrt(x(i))+sqrt(y(i))
end do
timing = secnds(timing)*1000
print *,' Timing =',timing,'/1000 s'
end do
end program
  • Resultados
Memory                   867Kb  
Debug (no optimization)  1.501 s
Optimization             0.11  s