Records execution of a loop whose iterations all execute the same sequence of tasks. More...
Classes | |
struct | guard |
RAII guard for executing a trace. More... | |
Public Member Functions | |
guard | make_guard () |
Create a guard for this trace . | |
trace & | operator= (trace) &noexcept |
Traces can be (move-)assigned. | |
void | skip () |
Skip the next call to the tracer. | |
trace () | |
Construct a trace. | |
trace (id_t id) | |
Construct a trace with user defined id. | |
trace (trace &&) noexcept | |
Traces are movable. Those that have been moved from must not be used. | |
Private Member Functions | |
void | start () |
Non-RAII interface. Does nothing if skip flag is set. | |
void | stop () |
Non-RAII interface. Merely clears skip flag if set. | |
Records execution of a loop whose iterations all execute the same sequence of tasks.
With the Legion backend, subsequent iterations run faster if traced. Some data::mutator
specializations cannot be traced. The first iteration should be ignored if it might perform different ghost copies.
trace | ( | ) |
Construct a trace.
|
explicit |
Construct a trace with user defined id.
id | User defined id for the trace |
void skip | ( | ) |
Skip the next call to the tracer.
|
private |
Non-RAII interface. Does nothing if skip
flag is set.
|
private |
Non-RAII interface. Merely clears skip
flag if set.