Mudanças entre as edições de "Timing"
De WikiLICC
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= | + | 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