#pragma once #include #include namespace NV { namespace Metric { namespace Eval { struct MetricNameValue { std::string metricName; int numRanges; // pair std::vector < std::pair > rangeNameMetricValueMap; }; /* Function to get aggregate metric values * @param[in] chipName Chip name for which to get metric values * @param[in] counterDataImage Counter data image * @param[in] metricNames List of metrics to read from counter data image * @param[out] metricNameValueMap Metric name value map * @param[in] pCounterAvailabilityImage Pointer to counter availability image queried on target device */ bool GetMetricGpuValue( std::string chipName, const std::vector& counterDataImage, const std::vector& metricNames, std::vector& metricNameValueMap, const uint8_t* pCounterAvailabilityImage = NULL); /* Function to print aggregate metric values * @param[in] chipName Chip name for which to get metric values * @param[in] counterDataImage Counter data image * @param[in] metricNames List of metrics to read from counter data image * @param[in] pCounterAvailabilityImage Pointer to counter availability image queried on target device */ bool PrintMetricValues( std::string chipName, const std::vector& counterDataImage, const std::vector& metricNames, const uint8_t* pCounterAvailabilityImage = NULL); } } }