Commit 0382af47 authored by Andreas Marek's avatar Andreas Marek

Timing information in generic complex kernel

parent c22cd252
......@@ -63,6 +63,9 @@ module complex_generic_kernel
contains
subroutine single_hh_trafo_complex_generic(q, hh, nb, nq, ldq)
use precision
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif
implicit none
integer(kind=ik), intent(in) :: nb, nq, ldq
......@@ -70,6 +73,9 @@ contains
complex(kind=ck), intent(in) :: hh(*)
integer(kind=ik) :: i
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("kernel generic: single_hh_trafo_complex_generic")
#endif
! Safety only:
......@@ -90,13 +96,18 @@ contains
else if(nq-i+1 > 0) then
call hh_trafo_complex_kernel_4(q(i,1),hh, nb, ldq)
endif
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("kernel generic: single_hh_trafo_complex_generic")
#endif
end subroutine single_hh_trafo_complex_generic
! --------------------------------------------------------------------------------------------------
subroutine double_hh_trafo_complex_generic(q, hh, nb, nq, ldq, ldh)
use precision
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif
implicit none
integer(kind=ik), intent(in) :: nb, nq, ldq, ldh
......@@ -107,6 +118,9 @@ contains
integer(kind=ik) :: i
! Safety only:
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("kernel generic: double_hh_trafo_complex_generic")
#endif
if(mod(ldq,4) /= 0) STOP 'double_hh_trafo: ldq not divisible by 4!'
......@@ -136,12 +150,19 @@ contains
!else if(nq-i+1 > 0) then
! call hh_trafo_complex_kernel_4_2hv(q(i,1),hh, nb, ldq, ldh, s)
!endif
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("kernel generic: double_hh_trafo_complex_generic")
#endif
end subroutine double_hh_trafo_complex_generic
! --------------------------------------------------------------------------------------------------
subroutine hh_trafo_complex_kernel_12(q, hh, nb, ldq)
use precision
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif
implicit none
integer(kind=ik), intent(in) :: nb, ldq
......@@ -152,6 +173,9 @@ contains
complex(kind=ck) :: h1, tau1
integer(kind=ik) :: i
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("kernel generic: hh_trafo_complex_kernel_12")
#endif
x1 = q(1,1)
x2 = q(2,1)
......@@ -229,12 +253,19 @@ contains
q(12,i) = q(12,i) + xc*h1
enddo
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("kernel generic: hh_trafo_complex_kernel_12")
#endif
end subroutine hh_trafo_complex_kernel_12
! --------------------------------------------------------------------------------------------------
subroutine hh_trafo_complex_kernel_8(q, hh, nb, ldq)
use precision
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif
implicit none
integer(kind=ik), intent(in) :: nb, ldq
......@@ -245,6 +276,9 @@ contains
complex(kind=ck) :: h1, tau1
integer(kind=ik) :: i
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("kernel generic: hh_trafo_complex_kernel_8")
#endif
x1 = q(1,1)
x2 = q(2,1)
......@@ -302,13 +336,18 @@ contains
q(8,i) = q(8,i) + x8*h1
enddo
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("kernel generic: hh_trafo_complex_kernel_8")
#endif
end subroutine hh_trafo_complex_kernel_8
! --------------------------------------------------------------------------------------------------
subroutine hh_trafo_complex_kernel_4(q, hh, nb, ldq)
use precision
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif
implicit none
integer(kind=ik), intent(in) :: nb, ldq
......@@ -319,7 +358,9 @@ contains
complex(kind=ck) :: h1, tau1
integer(kind=ik) :: i
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("kernel generic: hh_trafo_complex_kernel_4")
#endif
x1 = q(1,1)
x2 = q(2,1)
x3 = q(3,1)
......@@ -355,6 +396,9 @@ contains
q(3,i) = q(3,i) + x3*h1
q(4,i) = q(4,i) + x4*h1
enddo
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("kernel generic: hh_trafo_complex_kernel_4")
#endif
end subroutine hh_trafo_complex_kernel_4
......@@ -362,6 +406,9 @@ contains
subroutine hh_trafo_complex_kernel_4_2hv(q, hh, nb, ldq, ldh, s)
use precision
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif
implicit none
integer(kind=ik), intent(in) :: nb, ldq, ldh
......@@ -372,7 +419,9 @@ contains
complex(kind=ck) :: x1, x2, x3, x4, y1, y2, y3, y4
complex(kind=ck) :: h1, h2, tau1, tau2
integer(kind=ik) :: i
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("kernel generic: hh_trafo_complex_kernel_4_2hv")
#endif
x1 = q(1,2)
x2 = q(2,2)
x3 = q(3,2)
......@@ -441,6 +490,9 @@ contains
q(2,nb+1) = q(2,nb+1) + x2*hh(nb,1)
q(3,nb+1) = q(3,nb+1) + x3*hh(nb,1)
q(4,nb+1) = q(4,nb+1) + x4*hh(nb,1)
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("kernel generic: hh_trafo_complex_kernel_4_2hv")
#endif
end subroutine hh_trafo_complex_kernel_4_2hv
......@@ -448,6 +500,9 @@ contains
subroutine hh_trafo_complex_kernel_8_2hv(q, hh, nb, ldq, ldh, s)
use precision
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif
implicit none
integer(kind=ik), intent(in) :: nb, ldq, ldh
......@@ -459,6 +514,10 @@ contains
complex(kind=ck) :: h1, h2, tau1, tau2
integer(kind=ik) :: i
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("kernel generic: hh_trafo_complex_kernel_8_2hv")
#endif
x1 = q(1,2)
x2 = q(2,2)
x3 = q(3,2)
......@@ -572,6 +631,9 @@ contains
q(6,nb+1) = q(6,nb+1) + x6*hh(nb,1)
q(7,nb+1) = q(7,nb+1) + x7*hh(nb,1)
q(8,nb+1) = q(8,nb+1) + x8*hh(nb,1)
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("kernel generic: hh_trafo_complex_kernel_8_2hv")
#endif
end subroutine hh_trafo_complex_kernel_8_2hv
......@@ -579,6 +641,9 @@ contains
subroutine hh_trafo_complex_kernel_12_2hv(q, hh, nb, ldq, ldh, s)
use precision
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif
implicit none
integer(kind=ik), intent(in) :: nb, ldq, ldh
......@@ -590,7 +655,9 @@ contains
y7, y8, y9, y10, y11, y12
complex(kind=ck) :: h1, h2, tau1, tau2
integer(kind=ik) :: i
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("kernel generic: hh_trafo_complex_kernel_12_2hv")
#endif
x1 = q(1,2)
x2 = q(2,2)
x3 = q(3,2)
......@@ -747,6 +814,9 @@ contains
q(10,nb+1) = q(10,nb+1) + x10*hh(nb,1)
q(11,nb+1) = q(11,nb+1) + x11*hh(nb,1)
q(12,nb+1) = q(12,nb+1) + x12*hh(nb,1)
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("kernel generic: hh_trafo_complex_kernel_12_2hv")
#endif
end subroutine hh_trafo_complex_kernel_12_2hv
end module complex_generic_kernel
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment