Computes the performance of the computation and, for cluster computations, write it into file FileName.
34 unsigned int ttime, rtime;
35 unsigned int tctime=0, rctime=0;
37 int day, hour, min, sec;
60 if ((output = fopen(FileName,
"w")))
70 tctime = (
unsigned int)((ctime*IterationNb)/
IterationNo);
74 fprintf(output,
"Dimension : %12i\n", Dimension);
77 fprintf(output,
"Iterations : %12i\n", IterationNb);
80 fprintf(output,
"Iterations (total) : %12i\n", IterationNb);
81 fprintf(output,
"Iterations (elapsed) : %12i\n",
IterationNo);
82 fprintf(output,
"In progress :%13.6f %%\n", 100.*
IterationNo/(1.*IterationNb));
85 fprintf(output,
"Scales (max) : %12i\n",
ScaleNb);
86 fprintf(output,
"Cells (max) : %12i\n", (1<<(
ScaleNb*Dimension)));
89 fprintf(output,
"Solver : MR\n");
91 fprintf(output,
"Solver : FV\n");
94 fprintf(output,
"Time accuracy order : %12i\n",
StepNb);
95 fprintf(output,
"Time step :%13.6e s\n",
TimeStep);
96 fprintf(output,
"Threshold parameter :%13.6e \n",
Tolerance);
98 fprintf(output,
"CFL :%13.6e \n",
CFL);
101 fprintf(output,
"Eta :%13.6e \n",
eta);
103 fprintf(output,
"Chi :%13.6e \n",
chi);
107 fprintf(output,
"Physical time :%13.6e s\n",
ElapsedTime);
108 fprintf(output,
"CPU time (s) :%13.6e s\n", ctime);
111 fprintf(output,
"CPU time / it. x pt :%13.6e s\n", ctime/
TotalLeafNb);
113 fprintf(output,
"CPU time / it. x pt :%13.6e s\n", ctime/((1<<(
ScaleNb*Dimension))*IterationNb));
118 fprintf(output,
"Leaf compression :%13.6f %% \n", (100.*
TotalLeafNb)/(1.0*IterationNb*FineCellNb));
120 fprintf(output,
"Memory compression :%13.6f %% \n", (100.*
TotalCellNb)/(1.0*IterationNb*(FineCellNb + CellPVirt)));
121 fprintf(output,
"CPU compression :%13.6f %% \n", (100.*ctime)/(IterationNb*
FVTimeRef));
125 fprintf(output,
"Leaf compression :%13.6f %% \n", 100.);
126 fprintf(output,
"Memory compression :%13.6f %% \n", 100.);
127 fprintf(output,
"CPU compression :%13.6f %% \n", 100.);
132 fprintf(output,
"Total physical time :%13.6e s\n",
TimeStep * IterationNb);
136 fprintf(output,
"Leaf compression :%13.6f %% \n", (100.*
TotalLeafNb)/(1.0*IterationNb*FineCellNb));
142 fprintf(output,
"Leaf compression :%13.6f %% \n", 100.);
143 fprintf(output,
"Memory compression :%13.6f %% \n", 100.);
144 fprintf(output,
"CPU compression :%13.6f %% \n", 100.);
148 fprintf(output,
"\n");
154 rest = (
unsigned int)(ctime);
162 rest = (
unsigned int)(ctime);
165 fprintf(output,
"CPU time : %5d day %2d h %2d min %2d s\n", day, hour, min, sec);
167 if ((rest < 86400)&&(rest >= 3600))
168 fprintf(output,
"CPU time : %2d h %2d min %2d s\n", hour, min, sec);
170 if ((rest < 3600)&&(rest >= 60))
171 fprintf(output,
"CPU time : %2d min %2d s\n", min, sec);
174 fprintf(output,
"CPU time : %2d s\n", sec);
190 fprintf(output,
"Total CPU time (estimation) : %5d day %2d h %2d min %2d s\n", day, hour, min, sec);
192 if ((tctime < 86400)&&(tctime >= 3600))
193 fprintf(output,
"Total CPU time (estimation) : %2d h %2d min %2d s\n", hour, min, sec);
195 if ((tctime < 3600)&&(tctime >= 60))
196 fprintf(output,
"Total CPU time (estimation) : %2d min %2d s\n", min, sec);
199 fprintf(output,
"Total CPU time (estimation) : %2d s\n", sec);
213 fprintf(output,
"Remaining CPU time (estimation) : %5d day %2d h %2d min %2d s\n", day, hour, min, sec);
215 if ((rctime < 86400)&&(rctime >= 3600))
216 fprintf(output,
"Remaining CPU time (estimation) : %2d h %2d min %2d s\n", hour, min, sec);
218 if ((rctime < 3600)&&(rctime >= 60))
219 fprintf(output,
"Remaining CPU time (estimation) : %2d min %2d s\n", min, sec);
222 fprintf(output,
"Remaining CPU time (estimation) : %2d s\n", sec);
228 fprintf(output,
"\n");
229 fprintf(output,
"Real time (time() function) :%lf\n", realtimefull);
230 fprintf(output,
"clock() function :%lf\n", ctime);
235 fprintf(output,
"\n");
240 cout <<
"Performance.cpp: In method `void Performance(Node*, char*)':\n";
241 cout <<
"Performance.cpp: cannot open file " << FileName <<
'\n';
242 cout <<
"carmen: *** [Performance.o] Execution error\n";
243 cout <<
"carmen: abort execution.\n";
int IterationNb
Definition: Parameters.cpp:37
int ScaleNb
Definition: Parameters.cpp:87
double CPUTime()
Returns CPU time from previous start in seconds.
Definition: Timer.cpp:124
bool Resistivity
Definition: Parameters.cpp:120
real chi
Definition: Parameters.cpp:124
real eta
Definition: Parameters.cpp:123
real TotalLeafNb
Definition: Parameters.cpp:176
int Dimension
Definition: Parameters.cpp:74
int IterationNo
Definition: Parameters.cpp:168
real ElapsedTime
Definition: Parameters.cpp:95
double realTime()
Returns real time from previous start in seconds.
Definition: Timer.cpp:148
bool Diffusivity
Definition: Parameters.cpp:121
int StepNb
Definition: Parameters.cpp:36
real TotalCellNb
Definition: Parameters.cpp:177
Timer CommTimer
Definition: Parameters.cpp:241
real TimeStep
Definition: Parameters.cpp:40
bool Multiresolution
Definition: Parameters.cpp:84
double FVTimeRef
Definition: Parameters.cpp:172
real Tolerance
Definition: Parameters.cpp:91
int ThresholdNorm
Definition: Parameters.cpp:100
Timer CPUTime
Definition: Parameters.cpp:169
real CFL
Definition: Parameters.cpp:39