tvm
|
Data collected from a profiling run. Includes per-call metrics and per-device metrics. More...
#include <profiling.h>
Public Member Functions | |
String | AsCSV () const |
Output calls in CSV format. More... | |
String | AsTable (bool sort=true, bool aggregate=true, bool compute_col_sums=true) const |
Create a human readable table of profiling metrics. More... | |
String | AsJSON () const |
Convert this report to JSON. More... | |
TVM_DECLARE_FINAL_OBJECT_INFO (ReportNode, Object) | |
Public Attributes | |
Array< Map< String, ffi::Any > > | calls |
A list of function calls and the metrics recorded for that call. More... | |
Map< String, Map< String, ffi::Any > > | device_metrics |
Metrics collected for the entire run of the model on a per-device basis. More... | |
Map< String, ffi::Any > | configuration |
Static Public Attributes | |
static constexpr const char * | _type_key = "runtime.profiling.Report" |
Data collected from a profiling run. Includes per-call metrics and per-device metrics.
String tvm::runtime::profiling::ReportNode::AsCSV | ( | ) | const |
Output calls
in CSV format.
Note that this does not include device_metrics
, it only includes per-call metrics.
String tvm::runtime::profiling::ReportNode::AsJSON | ( | ) | const |
Convert this report to JSON.
Output JSON will be of this format:
String tvm::runtime::profiling::ReportNode::AsTable | ( | bool | sort = true , |
bool | aggregate = true , |
||
bool | compute_col_sums = true |
||
) | const |
Create a human readable table of profiling metrics.
aggregate | Whether or not to join multiple calls to the same op into a single line. |
sort | Whether or not to sort call frames by descending duration. If false and if aggregate is false, frames will be sorted by order of appearance in the program. Order is undefined if sort is false and aggregate is true. |
compute_col_sums | Whether or not to include sum totals for the Count, Duation, and Percent columns. |
tvm::runtime::profiling::ReportNode::TVM_DECLARE_FINAL_OBJECT_INFO | ( | ReportNode | , |
Object | |||
) |
|
staticconstexpr |
Array<Map<String, ffi::Any> > tvm::runtime::profiling::ReportNode::calls |
A list of function calls and the metrics recorded for that call.
Each element is a mapping from metric name to value. Some metrics that appear in every call are "Name" (the function name), "Argument Shapes", and "Duration (us)". Values are one of String
, PercentNode
, DurationNode
, or CountNode
.
Map<String, ffi::Any> tvm::runtime::profiling::ReportNode::configuration |
Configuration used for this profiling run. Includes number of threads, executor.
Values must be an object type that can be used with device_metrics.
Map<String, Map<String, ffi::Any> > tvm::runtime::profiling::ReportNode::device_metrics |
Metrics collected for the entire run of the model on a per-device basis.
device_metrics
is indexed by device name then metric.
These metrics may be larger than the sum of the same metric in calls
because these metrics include the overhead of the executor.