test21 Program

Uses

  • program~~test21~~UsesGraph program~test21 test21 forunittest forunittest program~test21->forunittest module~fortime fortime program~test21->module~fortime iso_fortran_env iso_fortran_env module~fortime->iso_fortran_env

Calls

program~~test21~~CallsGraph program~test21 test21 check check program~test21->check proc~otimer_start timer%otimer_start program~test21->proc~otimer_start proc~otimer_stop timer%otimer_stop program~test21->proc~otimer_stop proc~otimer_write timer%otimer_write program~test21->proc~otimer_write omp_get_wtime omp_get_wtime proc~otimer_start->omp_get_wtime proc~otimer_stop->omp_get_wtime proc~print_time print_time proc~otimer_stop->proc~print_time proc~write_to_file write_to_file proc~otimer_write->proc~write_to_file colorize colorize proc~print_time->colorize

Variables

Type Attributes Name Initial
integer :: nl
integer :: nloops = 3
type(timer) :: t
type(unit_test) :: ut

Source Code

program test21

   use fortime, only: timer
   use forunittest, only: unit_test, rk

   implicit none

#if defined(USE_OMP)
   type(timer) :: t
   type(unit_test) :: ut
   integer :: nl, nloops=3


   ! OMP time with nloops
   call t%otimer_start()
   do nl = 1, nloops
      call sleep(1) ! Perform operations ntimes
   end do
   call t%otimer_stop(message = 'OMP time:', print=.false.)
   call t%otimer_write('test/test21_otimes') ! Optionally, write the elapsed time to a file

   call ut%check(res=t%omp_time, expected=real(nloops,rk)*1.0_rk, tol=1.0e-1_rk, msg='test21')

#endif

end program test21