mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
* make tensorizer events measures * throttle the events and add a new one SoftwareBitmapToGPUTensorTelemetryEvent * factor out timing code into a class * typo * typo * move eventimer class into its own header file * add throttling to detensorization and remove variable timing * make detensorization events measures as well * add ConvertGPUTensorToSoftwareBitmapTelemetryEvent event * de-duplicate event names * fix comment * PR feedback
25 lines
619 B
C++
25 lines
619 B
C++
#include "pch.h"
|
|
|
|
class EventTimer
|
|
{
|
|
public:
|
|
bool Start()
|
|
{
|
|
auto now = std::chrono::high_resolution_clock::now();
|
|
if (!_started ||
|
|
std::chrono::duration_cast<std::chrono::microseconds>(now - _startTime).count() > _kDurationBetweenSendingEvents)
|
|
{
|
|
_started = true;
|
|
_startTime = std::chrono::high_resolution_clock::now();
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
private:
|
|
bool _started = false;
|
|
std::chrono::steady_clock::time_point _startTime;
|
|
constexpr static long long _kDurationBetweenSendingEvents = 1000 * 50; // duration in (us). send an Event every 50 ms;
|
|
};
|
|
|