aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2006-09-25 21:47:00 +0000
committerErik Schnetter <schnetter@cct.lsu.edu>2006-09-25 21:47:00 +0000
commitef689afe532450a41688ead23b3b53e7f7a68a9a (patch)
treed7399dd20f619e4b604530bdef280c0f984887ed
parentd941debf0896b85094c38e42a2a930e05cc0a01e (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.cc34
-rw-r--r--Carpet/CarpetLib/src/timestat.cc92
-rw-r--r--Carpet/CarpetLib/src/timestat.hh18
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