SWDEV-301667 - Add cache state for a device

- Add a global cache state for a device to indicate scopes of submitted
AQL packets
- Remove scopes for TS marker if hipEventReleaseToDevice is passed. Set
env ROC_EVENT_NO_FLUSH=1 to use NOP AQL for event records.
It would flush caches by default with system scope release.
- Calling finish() should ensure if caches are flushed, if not queue a
marker

Change-Id: Ibbbdbb1cd7ac61cb35649169212142545be159e0
Tento commit je obsažen v:
Saleel Kudchadker
2022-03-29 22:48:19 -07:00
rodič 857634241b
revize 8eeaa998c0
8 změnil soubory, kde provedl 94 přidání a 31 odebrání
+5 -4
Zobrazit soubor
@@ -102,7 +102,7 @@ class Event : public RuntimeObject {
static const EventWaitList nullWaitList;
struct ProfilingInfo {
ProfilingInfo(bool enabled = false) : enabled_(enabled), waves_(0), marker_ts_(false) {
ProfilingInfo(bool enabled = false) : enabled_(enabled), waves_(0), marker_ts_(0) {
if (enabled) {
clear();
callback_ = nullptr;
@@ -113,10 +113,11 @@ class Event : public RuntimeObject {
uint64_t submitted_;
uint64_t start_;
uint64_t end_;
bool enabled_; //!< Profiling enabled for the wave limiter
uint32_t waves_; //!< The number of waves used in a dispatch
bool enabled_; //!< Profiling enabled for the wave limiter
uint32_t waves_; //!< The number of waves used in a dispatch
ProfilingCallback* callback_;
bool marker_ts_;
uint32_t marker_ts_; //!< Marker with release scope
//!< 5 - system scope, 3 - device scope, 1 - no scopes
void clear() {
queued_ = 0ULL;
submitted_ = 0ULL;