Skip to content

Commit 7d6b78b

Browse files
committed
Added timers for serialization and line search. Added several functions to update timer.
1 parent cfd4f51 commit 7d6b78b

5 files changed

Lines changed: 164 additions & 138 deletions

File tree

FEBioLib/FEBioModel.cpp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1785,6 +1785,7 @@ TimingInfo FEBioModel::GetTimingInfo()
17851785
ti.total_stiff = GetTimer(TimerID::Timer_Stiffness )->GetExclusiveTime(); total += ti.total_stiff;
17861786
ti.total_rhs = GetTimer(TimerID::Timer_Residual )->GetExclusiveTime(); total += ti.total_rhs;
17871787
ti.total_update = GetTimer(TimerID::Timer_Update )->GetExclusiveTime(); total += ti.total_update;
1788+
ti.total_line_search = GetTimer(TimerID::Timer_LineSearch )->GetExclusiveTime(); total += ti.total_line_search;
17881789
ti.total_qn = GetTimer(TimerID::Timer_QNUpdate )->GetExclusiveTime(); total += ti.total_qn;
17891790
ti.total_serialize = GetTimer(TimerID::Timer_Serialize )->GetExclusiveTime(); total += ti.total_serialize;
17901791
ti.total_callback = GetTimer(TimerID::Timer_Callback )->GetExclusiveTime(); total += ti.total_callback;
@@ -1848,17 +1849,20 @@ void FEBioModel::on_cb_solved()
18481849

18491850
// sum up all the times spend in the linear solvers
18501851
feLog(" T I M I N G I N F O R M A T I O N\n\n");
1851-
Timer::time_str(ti.input_time , sztime); feLog("\tInput time ...................... : %s (%lg sec)\n\n", sztime, ti.input_time);
1852-
Timer::time_str(ti.init_time , sztime); feLog("\tInitialization time ............. : %s (%lg sec)\n\n", sztime, ti.init_time);
1853-
Timer::time_str(ti.solve_time , sztime); feLog("\tSolve time ...................... : %s (%lg sec)\n\n", sztime, ti.solve_time);
1854-
Timer::time_str(ti.io_time , sztime); feLog("\t IO-time (plot, dmp, data) .... : %s (%lg sec)\n\n", sztime, ti.io_time);
1855-
Timer::time_str(ti.total_reform, sztime); feLog("\t reforming stiffness .......... : %s (%lg sec)\n\n", sztime, ti.total_reform);
1856-
Timer::time_str(ti.total_stiff , sztime); feLog("\t evaluating stiffness ......... : %s (%lg sec)\n\n", sztime, ti.total_stiff);
1857-
Timer::time_str(ti.total_rhs , sztime); feLog("\t evaluating residual .......... : %s (%lg sec)\n\n", sztime, ti.total_rhs);
1858-
Timer::time_str(ti.total_update, sztime); feLog("\t model update ................. : %s (%lg sec)\n\n", sztime, ti.total_update);
1859-
Timer::time_str(ti.total_qn , sztime); feLog("\t QN updates ................... : %s (%lg sec)\n\n", sztime, ti.total_qn);
1860-
Timer::time_str(linsol_time , sztime); feLog("\t time in linear solver ........ : %s (%lg sec)\n\n", sztime, linsol_time);
1861-
Timer::time_str(ti.total_time , sztime); feLog("\tTotal elapsed time .............. : %s (%lg sec)\n\n", sztime, ti.total_time);
1852+
Timer::time_str(ti.input_time , sztime); feLog("\tInput time ...................... : %s (%lg sec)\n\n", sztime, ti.input_time);
1853+
Timer::time_str(ti.init_time , sztime); feLog("\tInitialization time ............. : %s (%lg sec)\n\n", sztime, ti.init_time);
1854+
Timer::time_str(ti.solve_time , sztime); feLog("\tSolve time ...................... : %s (%lg sec)\n\n", sztime, ti.solve_time);
1855+
Timer::time_str(ti.io_time , sztime); feLog("\t IO-time (plot, dmp, data) .... : %s (%lg sec)\n\n", sztime, ti.io_time);
1856+
Timer::time_str(ti.total_serialize , sztime); feLog("\t serialization ................ : %s (%lg sec)\n\n", sztime, ti.total_serialize);
1857+
Timer::time_str(ti.total_reform , sztime); feLog("\t reforming stiffness .......... : %s (%lg sec)\n\n", sztime, ti.total_reform);
1858+
Timer::time_str(ti.total_stiff , sztime); feLog("\t evaluating stiffness ......... : %s (%lg sec)\n\n", sztime, ti.total_stiff);
1859+
Timer::time_str(ti.total_rhs , sztime); feLog("\t evaluating residual .......... : %s (%lg sec)\n\n", sztime, ti.total_rhs);
1860+
Timer::time_str(ti.total_update , sztime); feLog("\t model update ................. : %s (%lg sec)\n\n", sztime, ti.total_update);
1861+
Timer::time_str(ti.total_line_search, sztime); feLog("\t line search .................. : %s (%lg sec)\n\n", sztime, ti.total_line_search);
1862+
Timer::time_str(ti.total_qn , sztime); feLog("\t QN updates ................... : %s (%lg sec)\n\n", sztime, ti.total_qn);
1863+
Timer::time_str(linsol_time , sztime); feLog("\t time in linear solver ........ : %s (%lg sec)\n\n", sztime, linsol_time);
1864+
Timer::time_str(ti.total_time , sztime); feLog("\tTotal elapsed time .............. : %s (%lg sec)\n\n", sztime, ti.total_time);
1865+
18621866

18631867
m_log.SetMode(old_mode);
18641868

FEBioLib/febiolib_types.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ struct TimingInfo {
4646
double total_rhs = 0;
4747
double total_update = 0;
4848
double total_qn = 0;
49+
double total_line_search = 0;
4950
double total_serialize = 0;
5051
double total_callback = 0;
5152
double total_other = 0;

0 commit comments

Comments
 (0)