diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2006-09-25 21:47:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2006-09-25 21:47:00 +0000 |
commit | ef689afe532450a41688ead23b3b53e7f7a68a9a (patch) | |
tree | d7399dd20f619e4b604530bdef280c0f984887ed | |
parent | d941debf0896b85094c38e42a2a930e05cc0a01e (diff) |
CarpetLib: Add timers for each prolongation operator
Add more timers, one timer for each kind of prolongation operator.
darcs-hash:20060925214744-dae7b-00f47d74c2cdccdd8d5ee05a88973543116678e9.gz
-rw-r--r-- | Carpet/CarpetLib/src/data.cc | 34 | ||||
-rw-r--r-- | Carpet/CarpetLib/src/timestat.cc | 92 | ||||
-rw-r--r-- | Carpet/CarpetLib/src/timestat.hh | 18 |
3 files changed, 115 insertions, 29 deletions
diff --git a/Carpet/CarpetLib/src/data.cc b/Carpet/CarpetLib/src/data.cc index d267feacc..9c7724263 100644 --- a/Carpet/CarpetLib/src/data.cc +++ b/Carpet/CarpetLib/src/data.cc @@ -1069,6 +1069,8 @@ void data<T> const ibbox& sext = srcs[0]->extent(); const ibbox& dext = extent(); + wtime_restrict.start(); + int srcshp[3], dstshp[3]; int srcbbox[3][3], dstbbox[3][3], regbbox[3][3]; @@ -1103,6 +1105,8 @@ void data<T> default: assert (0); } + + wtime_restrict.stop(); } template<typename T> @@ -1116,6 +1120,8 @@ void data<T> const ibbox& sext = srcs[0]->extent(); const ibbox& dext = extent(); + wtime_prolongate.start(); + int srcshp[dim], dstshp[dim]; int srcbbox[dim][dim], dstbbox[dim][dim], regbbox[dim][dim]; @@ -1124,6 +1130,7 @@ void data<T> switch (transport_operator) { case op_copy: + wtime_prolongate_copy.start(); assert (times.size() == 1); assert (srcs.size()>=1); switch (order_space) { @@ -1193,12 +1200,14 @@ void data<T> default: assert (0); } + wtime_prolongate_copy.stop(); break; case op_Lagrange: switch (order_time) { case 0: + wtime_prolongate_Lagrange_0.start(); assert (times.size() == 1); assert (abs(times[0] - time) < eps); assert (srcs.size()>=1); @@ -1269,9 +1278,11 @@ void data<T> default: assert (0); } + wtime_prolongate_Lagrange_0.stop(); break; case 1: + wtime_prolongate_Lagrange_1.start(); assert (srcs.size()>=2); switch (order_space) { case 1: @@ -1347,9 +1358,11 @@ void data<T> default: assert (0); } + wtime_prolongate_Lagrange_1.stop(); break; case 2: + wtime_prolongate_Lagrange_2.start(); assert (srcs.size()>=3); switch (order_space) { case 1: @@ -1432,6 +1445,7 @@ void data<T> default: assert (0); } + wtime_prolongate_Lagrange_2.stop(); break; default: @@ -1442,6 +1456,7 @@ void data<T> case op_TVD: switch (order_time) { case 0: + wtime_prolongate_TVD_0.start(); assert (times.size() == 1); assert (abs(times[0] - time) < eps); switch (order_space) { @@ -1467,8 +1482,10 @@ void data<T> default: assert (0); } + wtime_prolongate_TVD_0.stop(); break; case 1: + wtime_prolongate_TVD_1.start(); switch (order_space) { case 1: CCTK_WARN (0, "There is no stencil for op=\"TVD\" with order_space=1"); @@ -1492,8 +1509,10 @@ void data<T> default: assert (0); } + wtime_prolongate_TVD_1.stop(); break; case 2: + wtime_prolongate_TVD_2.start(); switch (order_space) { case 1: CCTK_WARN (0, "There is no stencil for op=\"TVD\" with order_space=1"); @@ -1519,6 +1538,7 @@ void data<T> default: assert (0); } + wtime_prolongate_TVD_2.stop(); break; default: assert (0); @@ -1529,6 +1549,7 @@ void data<T> case op_ENO: switch (order_time) { case 0: + wtime_prolongate_ENO_0.start(); assert (times.size() == 1); assert (abs(times[0] - time) < eps); switch (order_space) { @@ -1546,8 +1567,10 @@ void data<T> default: assert (0); } + wtime_prolongate_ENO_0.stop(); break; case 1: + wtime_prolongate_ENO_1.start(); switch (order_space) { case 1: CCTK_WARN (0, "There is no stencil for op=\"ENO\" with order_space=1"); @@ -1564,8 +1587,10 @@ void data<T> default: assert (0); } + wtime_prolongate_ENO_1.stop(); break; case 2: + wtime_prolongate_ENO_2.start(); switch (order_space) { case 1: CCTK_WARN (0, "There is no stencil for op=\"ENO\" with order_space=1"); @@ -1583,6 +1608,7 @@ void data<T> default: assert (0); } + wtime_prolongate_ENO_2.stop(); break; default: assert (0); @@ -1596,6 +1622,7 @@ void data<T> case op_WENO: switch (order_time) { case 0: + wtime_prolongate_WENO_0.start(); assert (times.size() == 1); assert (abs(times[0] - time) < eps); switch (order_space) { @@ -1616,8 +1643,10 @@ void data<T> default: assert (0); } + wtime_prolongate_WENO_0.stop(); break; case 1: + wtime_prolongate_WENO_1.start(); switch (order_space) { case 1: CCTK_WARN (0, "There is no stencil for op=\"WENO\" with order_space=1"); @@ -1637,8 +1666,10 @@ void data<T> default: assert (0); } + wtime_prolongate_WENO_1.stop(); break; case 2: + wtime_prolongate_WENO_2.start(); switch (order_space) { case 1: CCTK_WARN (0, "There is no stencil for op=\"WENO\" with order_space=1"); @@ -1659,6 +1690,7 @@ void data<T> default: assert (0); } + wtime_prolongate_WENO_2.stop(); break; default: assert (0); @@ -1671,6 +1703,8 @@ void data<T> default: assert(0); } // switch (transport_operator) + + wtime_prolongate.stop(); } template<> diff --git a/Carpet/CarpetLib/src/timestat.cc b/Carpet/CarpetLib/src/timestat.cc index 9ee2bebb0..5e8b0b599 100644 --- a/Carpet/CarpetLib/src/timestat.cc +++ b/Carpet/CarpetLib/src/timestat.cc @@ -130,6 +130,24 @@ timestat wtime_commstate_interpolate_to_isend; +timestat wtime_restrict; +timestat wtime_prolongate; +timestat wtime_prolongate_copy; +timestat wtime_prolongate_Lagrange_0; +timestat wtime_prolongate_Lagrange_1; +timestat wtime_prolongate_Lagrange_2; +timestat wtime_prolongate_TVD_0; +timestat wtime_prolongate_TVD_1; +timestat wtime_prolongate_TVD_2; +timestat wtime_prolongate_ENO_0; +timestat wtime_prolongate_ENO_1; +timestat wtime_prolongate_ENO_2; +timestat wtime_prolongate_WENO_0; +timestat wtime_prolongate_WENO_1; +timestat wtime_prolongate_WENO_2; + + + extern "C" void CarpetLib_printtimestats (CCTK_ARGUMENTS); void CarpetLib_printtimestats (CCTK_ARGUMENTS) @@ -179,39 +197,39 @@ void CarpetLib_printtimestats (CCTK_ARGUMENTS) file << endl << "********************************************************************************" << endl << "Timing statistics from CarpetLib at iteration " << cctkGH->cctk_iteration << " time " << cctkGH->cctk_time << ":" << endl - << " wtime_copyfrom_recv: " << wtime_copyfrom_recv << endl - << " wtime_copyfrom_send: " << wtime_copyfrom_send << endl - << " wtime_copyfrom_wait: " << wtime_copyfrom_wait << endl + << " wtime_copyfrom_recv: " << wtime_copyfrom_recv << endl + << " wtime_copyfrom_send: " << wtime_copyfrom_send << endl + << " wtime_copyfrom_wait: " << wtime_copyfrom_wait << endl << endl - << " wtime_copyfrom_recv_maketyped: " << wtime_copyfrom_recv_maketyped << endl - << " wtime_copyfrom_recv_allocate: " << wtime_copyfrom_recv_allocate << endl - << " wtime_copyfrom_recv_changeproc_recv: " << wtime_copyfrom_recv_changeproc_recv << endl - << " wtime_copyfrom_send_copyfrom_nocomm1: " << wtime_copyfrom_send_copyfrom_nocomm1 << endl - << " wtime_copyfrom_send_copyfrom_nocomm2: " << wtime_copyfrom_send_copyfrom_nocomm2 << endl - << " wtime_copyfrom_send_changeproc_send: " << wtime_copyfrom_send_changeproc_send << endl - << " wtime_copyfrom_wait_changeproc_wait: " << wtime_copyfrom_wait_changeproc_wait << endl - << " wtime_copyfrom_wait_copyfrom_nocomm2: " << wtime_copyfrom_wait_copyfrom_nocomm << endl - << " wtime_copyfrom_wait_delete: " << wtime_copyfrom_wait_delete << endl + << " wtime_copyfrom_recv_maketyped: " << wtime_copyfrom_recv_maketyped << endl + << " wtime_copyfrom_recv_allocate: " << wtime_copyfrom_recv_allocate << endl + << " wtime_copyfrom_recv_changeproc_recv: " << wtime_copyfrom_recv_changeproc_recv << endl + << " wtime_copyfrom_send_copyfrom_nocomm1: " << wtime_copyfrom_send_copyfrom_nocomm1 << endl + << " wtime_copyfrom_send_copyfrom_nocomm2: " << wtime_copyfrom_send_copyfrom_nocomm2 << endl + << " wtime_copyfrom_send_changeproc_send: " << wtime_copyfrom_send_changeproc_send << endl + << " wtime_copyfrom_wait_changeproc_wait: " << wtime_copyfrom_wait_changeproc_wait << endl + << " wtime_copyfrom_wait_copyfrom_nocomm2: " << wtime_copyfrom_wait_copyfrom_nocomm << endl + << " wtime_copyfrom_wait_delete: " << wtime_copyfrom_wait_delete << endl << endl - << " wtime_copyfrom_recvinner_allocate: " << wtime_copyfrom_recvinner_allocate << endl - << " wtime_copyfrom_recvinner_recv: " << wtime_copyfrom_recvinner_recv << endl - << " wtime_copyfrom_sendinner_allocate: " << wtime_copyfrom_sendinner_allocate << endl - << " wtime_copyfrom_sendinner_copy: " << wtime_copyfrom_sendinner_copy << endl - << " wtime_copyfrom_sendinner_send: " << wtime_copyfrom_sendinner_send << endl - << " wtime_copyfrom_recvwaitinner_wait: " << wtime_copyfrom_recvwaitinner_wait << endl - << " wtime_copyfrom_recvwaitinner_copy: " << wtime_copyfrom_recvwaitinner_copy << endl - << " wtime_copyfrom_recvwaitinner_delete: " << wtime_copyfrom_recvwaitinner_delete << endl - << " wtime_copyfrom_sendwaitinner_wait: " << wtime_copyfrom_sendwaitinner_wait << endl - << " wtime_copyfrom_sendwaitinner_delete: " << wtime_copyfrom_sendwaitinner_delete << endl + << " wtime_copyfrom_recvinner_allocate: " << wtime_copyfrom_recvinner_allocate << endl + << " wtime_copyfrom_recvinner_recv: " << wtime_copyfrom_recvinner_recv << endl + << " wtime_copyfrom_sendinner_allocate: " << wtime_copyfrom_sendinner_allocate << endl + << " wtime_copyfrom_sendinner_copy: " << wtime_copyfrom_sendinner_copy << endl + << " wtime_copyfrom_sendinner_send: " << wtime_copyfrom_sendinner_send << endl + << " wtime_copyfrom_recvwaitinner_wait: " << wtime_copyfrom_recvwaitinner_wait << endl + << " wtime_copyfrom_recvwaitinner_copy: " << wtime_copyfrom_recvwaitinner_copy << endl + << " wtime_copyfrom_recvwaitinner_delete: " << wtime_copyfrom_recvwaitinner_delete << endl + << " wtime_copyfrom_sendwaitinner_wait: " << wtime_copyfrom_sendwaitinner_wait << endl + << " wtime_copyfrom_sendwaitinner_delete: " << wtime_copyfrom_sendwaitinner_delete << endl << endl - << " wtime_changeproc_recv: " << wtime_changeproc_recv << endl - << " wtime_changeproc_send: " << wtime_changeproc_send << endl - << " wtime_changeproc_wait: " << wtime_changeproc_wait << endl + << " wtime_changeproc_recv: " << wtime_changeproc_recv << endl + << " wtime_changeproc_send: " << wtime_changeproc_send << endl + << " wtime_changeproc_wait: " << wtime_changeproc_wait << endl << endl - << " wtime_irecv: " << wtime_irecv << endl - << " wtime_isend: " << wtime_isend << endl - << " wtime_isendwait: " << wtime_isendwait << endl - << " wtime_irecvwait: " << wtime_irecvwait << endl + << " wtime_irecv: " << wtime_irecv << endl + << " wtime_isend: " << wtime_isend << endl + << " wtime_isendwait: " << wtime_isendwait << endl + << " wtime_irecvwait: " << wtime_irecvwait << endl << endl << " wtime_commstate_sizes_irecv: " << wtime_commstate_sizes_irecv << endl << " wtime_commstate_waitall_final: " << wtime_commstate_waitall_final << endl @@ -222,6 +240,22 @@ void CarpetLib_printtimestats (CCTK_ARGUMENTS) << " wtime_commstate_interpolate_irecv: " << wtime_commstate_interpolate_irecv << endl << " wtime_commstate_interpolate_from_isend: " << wtime_commstate_interpolate_from_isend << endl << " wtime_commstate_interpolate_to_isend: " << wtime_commstate_interpolate_to_isend << endl + << endl + << " wtime_restrict: " << wtime_restrict << endl + << " wtime_prolongate: " << wtime_prolongate << endl + << " wtime_prolongate_copy: " << wtime_prolongate_copy << endl + << " wtime_prolongate_Lagrange_0: " << wtime_prolongate_Lagrange_0 << endl + << " wtime_prolongate_Lagrange_1: " << wtime_prolongate_Lagrange_1 << endl + << " wtime_prolongate_Lagrange_2: " << wtime_prolongate_Lagrange_2 << endl + << " wtime_prolongate_TVD_0: " << wtime_prolongate_TVD_0 << endl + << " wtime_prolongate_TVD_1: " << wtime_prolongate_TVD_1 << endl + << " wtime_prolongate_TVD_2: " << wtime_prolongate_TVD_2 << endl + << " wtime_prolongate_ENO_0: " << wtime_prolongate_ENO_0 << endl + << " wtime_prolongate_ENO_1: " << wtime_prolongate_ENO_1 << endl + << " wtime_prolongate_ENO_2: " << wtime_prolongate_ENO_2 << endl + << " wtime_prolongate_WENO_0: " << wtime_prolongate_WENO_0 << endl + << " wtime_prolongate_WENO_1: " << wtime_prolongate_WENO_1 << endl + << " wtime_prolongate_WENO_2: " << wtime_prolongate_WENO_2 << endl << endl; } } diff --git a/Carpet/CarpetLib/src/timestat.hh b/Carpet/CarpetLib/src/timestat.hh index a93e5717a..9e22a5635 100644 --- a/Carpet/CarpetLib/src/timestat.hh +++ b/Carpet/CarpetLib/src/timestat.hh @@ -86,4 +86,22 @@ extern timestat wtime_commstate_interpolate_irecv; extern timestat wtime_commstate_interpolate_from_isend; extern timestat wtime_commstate_interpolate_to_isend; + + +extern timestat wtime_restrict; +extern timestat wtime_prolongate; +extern timestat wtime_prolongate_copy; +extern timestat wtime_prolongate_Lagrange_0; +extern timestat wtime_prolongate_Lagrange_1; +extern timestat wtime_prolongate_Lagrange_2; +extern timestat wtime_prolongate_TVD_0; +extern timestat wtime_prolongate_TVD_1; +extern timestat wtime_prolongate_TVD_2; +extern timestat wtime_prolongate_ENO_0; +extern timestat wtime_prolongate_ENO_1; +extern timestat wtime_prolongate_ENO_2; +extern timestat wtime_prolongate_WENO_0; +extern timestat wtime_prolongate_WENO_1; +extern timestat wtime_prolongate_WENO_2; + #endif // TIMESTAT_HH |