The trace recorded on a context is finalized and dumped by this TracingContext destructor. The idea of dumping on context destructor is that typically one wants to run many matrix multiplications, e.g. to hit a steady state in terms of performance characteristics, but only trace the last repetition of the workload, when that steady state was attained.
| 220 | // performance characteristics, but only trace the last repetition of the |
| 221 | // workload, when that steady state was attained. |
| 222 | TracingContext::~TracingContext() { |
| 223 | if (trace) { |
| 224 | AggregateThreadSpecificEntries(trace); |
| 225 | Sort(trace); |
| 226 | Dump(*trace); |
| 227 | } |
| 228 | delete trace; |
| 229 | } |
| 230 | |
| 231 | void TraceRecordStart(Trace* trace) { |
| 232 | if (trace) { |
nothing calls this directly
no test coverage detected