L0 Metrics Api fixes:

1. DEBUG_BREAK_IF instead of UNRECOVERABLE_IF.
2. Proper oa configuration deinitialization.

Change-Id: I2b966fb627d4a79ad1c0a1589b9e0916ea640545
This commit is contained in:
Piotr Maciejewski
2020-03-17 14:15:35 +01:00
committed by sys_ocldev
parent 93c8ffe326
commit e438da0f92
8 changed files with 100 additions and 81 deletions

View File

@@ -19,7 +19,6 @@ bool MetricsLibrary::getContextData(Device &device, ContextCreateData_1_0 &conte
}
bool MetricsLibrary::activateConfiguration(const ConfigurationHandle_1_0 configurationHandle) {
UNRECOVERABLE_IF(!configurationHandle.IsValid());
ConfigurationActivateData_1_0 activateData = {};
activateData.Type = GpuConfigurationActivationType::Tbs;
@@ -30,7 +29,7 @@ bool MetricsLibrary::activateConfiguration(const ConfigurationHandle_1_0 configu
validMetricsLibrary && validConfiguration &&
(api.ConfigurationActivate(configurationHandle, &activateData) == StatusCode::Success);
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}

View File

@@ -65,8 +65,8 @@ struct MetricContextImp : public MetricContext {
zet_metric_group_handle_t *phMetricGroups) override;
bool isMetricGroupActivated(const zet_metric_group_handle_t hMetricGroup) override;
void setUseCcs(const bool useCcs) override;
bool isCcsUsed() override;
void setUseCompute(const bool useCompute) override;
bool isComputeUsed() override;
protected:
ze_result_t initializationState = ZE_RESULT_ERROR_UNINITIALIZED;
@@ -75,7 +75,7 @@ struct MetricContextImp : public MetricContext {
std::unique_ptr<MetricsLibrary> metricsLibrary = nullptr;
MetricGroupDomains metricGroupDomains;
MetricTracer *pMetricTracer = nullptr;
bool useCcs = false;
bool useCompute = false;
};
MetricContextImp::MetricContextImp(Device &deviceInput)
@@ -94,11 +94,11 @@ bool MetricContextImp::loadDependencies() {
bool result = true;
if (metricEnumeration->loadMetricsDiscovery() != ZE_RESULT_SUCCESS) {
result = false;
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
}
if (result && !metricsLibrary->load()) {
result = false;
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
}
if (result) {
setInitializationState(ZE_RESULT_SUCCESS);
@@ -136,12 +136,12 @@ void MetricContextImp::setMetricEnumeration(MetricEnumeration &metricEnumeration
this->metricEnumeration.reset(&metricEnumeration);
}
void MetricContextImp::setUseCcs(const bool useCcs) {
this->useCcs = useCcs;
void MetricContextImp::setUseCompute(const bool useCompute) {
this->useCompute = useCompute;
}
bool MetricContextImp::isCcsUsed() {
return useCcs;
bool MetricContextImp::isComputeUsed() {
return useCompute;
}
ze_result_t
@@ -228,7 +228,7 @@ ze_result_t MetricGroupDomains::activateDeferred(const uint32_t count,
zet_metric_group_handle_t *phMetricGroups) {
// For each metric group:
for (uint32_t i = 0; i < count; ++i) {
UNRECOVERABLE_IF(!phMetricGroups[i]);
DEBUG_BREAK_IF(!phMetricGroups[i]);
// Try to associate it with a domain (oa, ...).
if (!activateMetricGroupDeffered(phMetricGroups[i])) {
@@ -284,7 +284,7 @@ ze_result_t MetricGroupDomains::activate() {
metricGroupActive = activateEventMetricGroup(hMetricGroup);
if (metricGroupActive == false) {
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return ZE_RESULT_ERROR_UNKNOWN;
}
}
@@ -299,14 +299,14 @@ bool MetricGroupDomains::activateEventMetricGroup(const zet_metric_group_handle_
// Validate metrics library handle.
if (!hConfiguration.IsValid()) {
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return false;
}
// Write metric group configuration to gpu.
const bool result = metricsLibrary.activateConfiguration(hConfiguration);
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
@@ -320,9 +320,10 @@ ze_result_t MetricGroupDomains::deactivate() {
auto metricGroupEventBased = (metricGroup != nullptr)
? MetricGroup::getProperties(hMetricGroup).samplingType == ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED
: false;
auto hConfigurationEmpty = ConfigurationHandle_1_0{};
auto hConfiguration = metricGroupEventBased
? metricsLibrary.getConfiguration(hMetricGroup)
: ConfigurationHandle_1_0{nullptr};
: hConfigurationEmpty;
// Deactivate metric group configuration using metrics library.
if (hConfiguration.IsValid() && metricGroupActivated) {

View File

@@ -52,8 +52,8 @@ struct MetricContext {
zet_metric_group_handle_t *phMetricGroups) = 0;
virtual bool isMetricGroupActivated(const zet_metric_group_handle_t hMetricGroup) = 0;
virtual void setUseCcs(const bool useCcs) = 0;
virtual bool isCcsUsed() = 0;
virtual void setUseCompute(const bool useCompute) = 0;
virtual bool isComputeUsed() = 0;
};
struct Metric : _zet_metric_handle_t {

View File

@@ -128,10 +128,10 @@ ze_result_t MetricEnumeration::cleanupMetricsDiscovery() {
}
ze_result_t MetricEnumeration::cacheMetricInformation() {
UNRECOVERABLE_IF(pMetricsDevice == nullptr);
DEBUG_BREAK_IF(pMetricsDevice == nullptr);
MetricsDiscovery::TMetricsDeviceParams_1_2 *pMetricsDeviceParams = pMetricsDevice->GetParams();
UNRECOVERABLE_IF(pMetricsDeviceParams == nullptr);
DEBUG_BREAK_IF(pMetricsDeviceParams == nullptr);
// Check required Metrics Discovery API version - should be at least 1.5.
const bool unsupportedMajorVersion =
@@ -149,11 +149,11 @@ ze_result_t MetricEnumeration::cacheMetricInformation() {
MetricsDiscovery::IConcurrentGroup_1_5 *pConcurrentGroup = nullptr;
for (uint32_t i = 0; i < pMetricsDeviceParams->ConcurrentGroupsCount; ++i) {
pConcurrentGroup = pMetricsDevice->GetConcurrentGroup(i);
UNRECOVERABLE_IF(pConcurrentGroup == nullptr);
DEBUG_BREAK_IF(pConcurrentGroup == nullptr);
MetricsDiscovery::TConcurrentGroupParams_1_0 *pConcurrentGroupParams =
pConcurrentGroup->GetParams();
UNRECOVERABLE_IF(pConcurrentGroupParams == nullptr);
DEBUG_BREAK_IF(pConcurrentGroupParams == nullptr);
// 2. Find "OA" concurrent group.
if (strcmp(pConcurrentGroupParams->SymbolName, oaConcurrentGroupName) == 0) {
@@ -163,7 +163,7 @@ ze_result_t MetricEnumeration::cacheMetricInformation() {
// 3. Iterate over metric sets.
for (uint32_t j = 0; j < pConcurrentGroupParams->MetricSetsCount; ++j) {
MetricsDiscovery::IMetricSet_1_5 *pMetricSet = pConcurrentGroup->GetMetricSet(j);
UNRECOVERABLE_IF(pMetricSet == nullptr);
DEBUG_BREAK_IF(pMetricSet == nullptr);
cacheMetricGroup(*pMetricSet, *pConcurrentGroup, i,
ZET_METRIC_GROUP_SAMPLING_TYPE_TIME_BASED);
@@ -182,7 +182,7 @@ MetricEnumeration::cacheMetricGroup(MetricsDiscovery::IMetricSet_1_5 &metricSet,
const uint32_t domain,
const zet_metric_group_sampling_type_t samplingType) {
MetricsDiscovery::TMetricSetParams_1_4 *pMetricSetParams = metricSet.GetParams();
UNRECOVERABLE_IF(pMetricSetParams == nullptr);
DEBUG_BREAK_IF(pMetricSetParams == nullptr);
const uint32_t sourceApiMask = MetricGroupImp::getApiMask(samplingType);
@@ -208,7 +208,7 @@ MetricEnumeration::cacheMetricGroup(MetricsDiscovery::IMetricSet_1_5 &metricSet,
createMetrics(metricSet, metrics);
auto pMetricGroup = MetricGroup::create(properties, metricSet, concurrentGroup, metrics);
UNRECOVERABLE_IF(pMetricGroup == nullptr);
DEBUG_BREAK_IF(pMetricGroup == nullptr);
metricGroups.push_back(pMetricGroup);
@@ -222,17 +222,17 @@ MetricEnumeration::cacheMetricGroup(MetricsDiscovery::IMetricSet_1_5 &metricSet,
ze_result_t MetricEnumeration::createMetrics(MetricsDiscovery::IMetricSet_1_5 &metricSet,
std::vector<Metric *> &metrics) {
MetricsDiscovery::TMetricSetParams_1_4 *pMetricSetParams = metricSet.GetParams();
UNRECOVERABLE_IF(pMetricSetParams == nullptr);
DEBUG_BREAK_IF(pMetricSetParams == nullptr);
metrics.reserve(pMetricSetParams->MetricsCount + pMetricSetParams->InformationCount);
// Map metrics to level zero format and add them to 'metrics' vector.
for (uint32_t i = 0; i < pMetricSetParams->MetricsCount; ++i) {
MetricsDiscovery::IMetric_1_0 *pSourceMetric = metricSet.GetMetric(i);
UNRECOVERABLE_IF(pSourceMetric == nullptr);
DEBUG_BREAK_IF(pSourceMetric == nullptr);
MetricsDiscovery::TMetricParams_1_0 *pSourceMetricParams = pSourceMetric->GetParams();
UNRECOVERABLE_IF(pSourceMetricParams == nullptr);
DEBUG_BREAK_IF(pSourceMetricParams == nullptr);
zet_metric_properties_t properties = {};
properties.version = ZET_METRIC_PROPERTIES_VERSION_CURRENT;
@@ -257,11 +257,11 @@ ze_result_t MetricEnumeration::createMetrics(MetricsDiscovery::IMetricSet_1_5 &m
// Map information to level zero format and add them to 'metrics' vector (as metrics).
for (uint32_t i = 0; i < pMetricSetParams->InformationCount; ++i) {
MetricsDiscovery::IInformation_1_0 *pSourceInformation = metricSet.GetInformation(i);
UNRECOVERABLE_IF(pSourceInformation == nullptr);
DEBUG_BREAK_IF(pSourceInformation == nullptr);
MetricsDiscovery::TInformationParams_1_0 *pSourceInformationParams =
pSourceInformation->GetParams();
UNRECOVERABLE_IF(pSourceInformationParams == nullptr);
DEBUG_BREAK_IF(pSourceInformationParams == nullptr);
zet_metric_properties_t properties;
properties.version = ZET_METRIC_PROPERTIES_VERSION_CURRENT;
@@ -323,7 +323,7 @@ MetricEnumeration::getMetricType(const MetricsDiscovery::TMetricType sourceMetri
case MetricsDiscovery::METRIC_TYPE_RAW:
return ZET_METRIC_TYPE_RAW;
default:
UNRECOVERABLE_IF(!false);
DEBUG_BREAK_IF(!false);
return ZET_METRIC_TYPE_RAW;
}
}
@@ -344,7 +344,7 @@ zet_metric_type_t MetricEnumeration::getMetricType(
case MetricsDiscovery::INFORMATION_TYPE_TIMESTAMP:
return ZET_METRIC_TYPE_TIMESTAMP;
default:
UNRECOVERABLE_IF(!false);
DEBUG_BREAK_IF(!false);
return ZET_METRIC_TYPE_RAW;
}
}
@@ -362,7 +362,7 @@ zet_value_type_t MetricEnumeration::getMetricResultType(
case MetricsDiscovery::RESULT_FLOAT:
return ZET_VALUE_TYPE_FLOAT32;
default:
UNRECOVERABLE_IF(!false);
DEBUG_BREAK_IF(!false);
return ZET_VALUE_TYPE_UINT64;
}
}
@@ -377,7 +377,7 @@ MetricGroupImp ::~MetricGroupImp() {
};
ze_result_t MetricGroupImp::getProperties(zet_metric_group_properties_t *pProperties) {
UNRECOVERABLE_IF(pProperties->version > ZET_METRIC_GROUP_PROPERTIES_VERSION_CURRENT);
DEBUG_BREAK_IF(pProperties->version > ZET_METRIC_GROUP_PROPERTIES_VERSION_CURRENT);
copyProperties(properties, *pProperties);
return ZE_RESULT_SUCCESS;
}
@@ -413,14 +413,14 @@ ze_result_t MetricGroupImp::getMetric(uint32_t *pCount, zet_metric_handle_t *phM
}
bool MetricGroupImp::activate() {
UNRECOVERABLE_IF(pReferenceMetricSet == nullptr);
DEBUG_BREAK_IF(pReferenceMetricSet == nullptr);
const bool result = pReferenceMetricSet->Activate() == MetricsDiscovery::CC_OK;
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
bool MetricGroupImp::deactivate() {
UNRECOVERABLE_IF(pReferenceMetricSet == nullptr);
DEBUG_BREAK_IF(pReferenceMetricSet == nullptr);
const bool result = pReferenceMetricSet->Deactivate() == MetricsDiscovery::CC_OK;
return result;
}
@@ -433,7 +433,7 @@ uint32_t MetricGroupImp::getApiMask(const zet_metric_group_sampling_type_t sampl
case ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED:
return MetricsDiscovery::API_TYPE_OCL | MetricsDiscovery::API_TYPE_OGL4_X;
default:
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return 0;
}
}
@@ -562,7 +562,7 @@ uint32_t MetricGroupImp::getRawReportSize() {
void MetricGroupImp::copyProperties(const zet_metric_group_properties_t &source,
zet_metric_group_properties_t &destination) {
UNRECOVERABLE_IF(source.version < destination.version);
DEBUG_BREAK_IF(source.version < destination.version);
destination = source;
memcpy_s(destination.name, sizeof(destination.name),
source.name, sizeof(destination.name));
@@ -599,13 +599,13 @@ void MetricGroupImp::copyValue(const MetricsDiscovery::TTypedValue_1_0 &source,
default:
destination.type = ZET_VALUE_TYPE_UINT64;
destination.value.ui64 = 0;
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
break;
}
}
ze_result_t MetricImp::getProperties(zet_metric_properties_t *pProperties) {
UNRECOVERABLE_IF(pProperties->version > ZET_METRIC_PROPERTIES_VERSION_CURRENT);
DEBUG_BREAK_IF(pProperties->version > ZET_METRIC_PROPERTIES_VERSION_CURRENT);
copyProperties(properties, *pProperties);
return ZE_RESULT_SUCCESS;
}
@@ -617,7 +617,7 @@ ze_result_t MetricImp::initialize(const zet_metric_properties_t &sourcePropertie
void MetricImp::copyProperties(const zet_metric_properties_t &source,
zet_metric_properties_t &destination) {
UNRECOVERABLE_IF(source.version < destination.version);
DEBUG_BREAK_IF(source.version < destination.version);
destination = source;
memcpy_s(destination.name, sizeof(destination.name),
source.name, sizeof(destination.name));

View File

@@ -9,6 +9,7 @@
#include "shared/source/command_stream/command_stream_receiver.h"
#include "shared/source/device/device.h"
#include "shared/source/helpers/engine_node_helper.h"
#include "shared/source/memory_manager/allocation_properties.h"
#include "shared/source/memory_manager/memory_manager.h"
#include "shared/source/os_interface/os_context.h"
@@ -27,9 +28,11 @@ MetricsLibrary::MetricsLibrary(MetricContext &metricContextInput)
: metricContext(metricContextInput) {}
MetricsLibrary::~MetricsLibrary() {
// Deactivate all metric group configurations.
// Delete all metric group configurations.
for (auto &configuration : configurations) {
deactivateConfiguration(configuration.second);
if (configuration.second.IsValid()) {
api.ConfigurationDelete(configuration.second);
}
}
configurations.clear();
@@ -54,7 +57,7 @@ bool MetricsLibrary::createMetricQuery(const uint32_t slotsCount, QueryHandle_1_
NEO::GraphicsAllocation *&pAllocation) {
// Validate metrics library state.
if (!isInitialized()) {
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return false;
}
@@ -70,7 +73,7 @@ bool MetricsLibrary::createMetricQuery(const uint32_t slotsCount, QueryHandle_1_
// Validate gpu report size.
if (!gpuReportSize.ValueUInt32) {
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return false;
}
@@ -82,7 +85,7 @@ bool MetricsLibrary::createMetricQuery(const uint32_t slotsCount, QueryHandle_1_
// Validate gpu report size.
if (!pAllocation) {
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return false;
}
@@ -91,7 +94,7 @@ bool MetricsLibrary::createMetricQuery(const uint32_t slotsCount, QueryHandle_1_
// Create query pool within metrics library.
if (api.QueryCreate(&queryData, &query) != StatusCode::Success) {
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
metricContext.getDevice().getDriverHandle()->getMemoryManager()->freeGraphicsMemory(pAllocation);
return false;
}
@@ -100,10 +103,10 @@ bool MetricsLibrary::createMetricQuery(const uint32_t slotsCount, QueryHandle_1_
}
bool MetricsLibrary::destroyMetricQuery(QueryHandle_1_0 &query) {
UNRECOVERABLE_IF(!query.IsValid());
DEBUG_BREAK_IF(!query.IsValid());
const bool result = isInitialized() && (api.QueryDelete(query) == StatusCode::Success);
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
@@ -113,7 +116,7 @@ bool MetricsLibrary::getMetricQueryReportSize(size_t &rawDataSize) {
const bool result = isInitialized() && (api.GetParameter(ParameterType::QueryHwCountersReportApiSize, &valueType, &value) == StatusCode::Success);
rawDataSize = static_cast<size_t>(value.ValueUInt32);
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
@@ -129,7 +132,7 @@ bool MetricsLibrary::getMetricQueryReport(QueryHandle_1_0 &query, const size_t r
report.Query.DataSize = static_cast<uint32_t>(rawDataSize);
const bool result = isInitialized() && (api.GetData(&report) == StatusCode::Success);
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
@@ -137,7 +140,7 @@ void MetricsLibrary::initialize() {
auto &metricsEnumeration = metricContext.getMetricEnumeration();
// Function should be called only once.
UNRECOVERABLE_IF(initializationState != ZE_RESULT_ERROR_UNINITIALIZED);
DEBUG_BREAK_IF(initializationState != ZE_RESULT_ERROR_UNINITIALIZED);
// Metrics Enumeration needs to be initialized before Metrics Library
const bool validMetricsEnumeration = metricsEnumeration.isInitialized();
@@ -145,7 +148,7 @@ void MetricsLibrary::initialize() {
// Load metrics library and exported functions.
initializationState = validMetricsLibrary ? ZE_RESULT_SUCCESS : ZE_RESULT_ERROR_UNKNOWN;
UNRECOVERABLE_IF(initializationState != ZE_RESULT_SUCCESS);
DEBUG_BREAK_IF(initializationState != ZE_RESULT_SUCCESS);
}
bool MetricsLibrary::load() {
@@ -162,7 +165,7 @@ bool MetricsLibrary::load() {
// Return success if exported functions have been loaded.
const bool result = contextCreateFunction && contextDeleteFunction;
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
@@ -183,12 +186,12 @@ bool MetricsLibrary::createContext() {
const auto &deviceImp = *static_cast<DeviceImp *>(&device);
const auto &commandStreamReceiver = *deviceImp.neoDevice->getDefaultEngine().commandStreamReceiver;
const auto engineType = commandStreamReceiver.getOsContext().getEngineType();
const bool isCcsUsed = engineType >= aub_stream::ENGINE_CCS && engineType <= aub_stream::ENGINE_CCS3;
const bool isComputeUsed = NEO::EngineHelpers::isCcs(engineType);
metricContext.setUseCcs(isCcsUsed);
metricContext.setUseCompute(isComputeUsed);
// Create metrics library context.
UNRECOVERABLE_IF(!contextCreateFunction);
DEBUG_BREAK_IF(!contextCreateFunction);
clientType.Api = ClientApi::OpenCL;
clientType.Gen = getGenType(device.getPlatformInfo());
@@ -206,7 +209,7 @@ bool MetricsLibrary::createContext() {
getContextData(device, createData) &&
contextCreateFunction(clientType, &createData, &context) == StatusCode::Success;
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
@@ -226,7 +229,7 @@ uint32_t MetricsLibrary::getGpuCommandsSize(CommandBufferData_1_0 &commandBuffer
result = api.CommandBufferGetSize(&commandBuffer, &commandBufferSize) == StatusCode::Success;
}
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result ? commandBufferSize.GpuMemorySize : 0;
}
@@ -238,7 +241,7 @@ bool MetricsLibrary::getGpuCommands(CommandList &commandList,
// Validate gpu commands size.
if (!commandBuffer.Size) {
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return false;
}
@@ -248,7 +251,7 @@ bool MetricsLibrary::getGpuCommands(CommandList &commandList,
// Validate command buffer space.
if (!buffer) {
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return false;
}
@@ -258,7 +261,7 @@ bool MetricsLibrary::getGpuCommands(CommandList &commandList,
// Obtain gpu commands from metrics library.
const bool result =
isInitialized() && (api.CommandBufferGet(&commandBuffer) == StatusCode::Success);
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
@@ -267,7 +270,8 @@ MetricsLibrary::createConfiguration(const zet_metric_group_handle_t metricGroupH
const zet_metric_group_properties_t properties) {
// Metric group internal data.
auto metricGroup = MetricGroup::fromHandle(metricGroupHandle);
UNRECOVERABLE_IF(!metricGroup);
auto metricGroupDummy = ConfigurationHandle_1_0{};
DEBUG_BREAK_IF(!metricGroup);
// Metrics library configuration creation data.
ConfigurationHandle_1_0 handle = {};
@@ -292,7 +296,7 @@ MetricsLibrary::createConfiguration(const zet_metric_group_handle_t metricGroupH
metricGroup->deactivate();
}
return validActivate ? handle : nullptr;
return validActivate ? handle : metricGroupDummy;
}
ConfigurationHandle_1_0 MetricsLibrary::getConfiguration(zet_metric_group_handle_t handle) {
@@ -300,13 +304,13 @@ ConfigurationHandle_1_0 MetricsLibrary::getConfiguration(zet_metric_group_handle
auto iter = configurations.find(handle);
auto configuration = (iter != end(configurations)) ? iter->second : addConfiguration(handle);
UNRECOVERABLE_IF(!configuration.IsValid());
DEBUG_BREAK_IF(!configuration.IsValid());
return configuration;
}
ConfigurationHandle_1_0 MetricsLibrary::addConfiguration(zet_metric_group_handle_t handle) {
ConfigurationHandle_1_0 libraryHandle = {};
UNRECOVERABLE_IF(!handle);
DEBUG_BREAK_IF(!handle);
// Create metrics library configuration.
auto metricGroup = MetricGroup::fromHandle(handle);
@@ -319,7 +323,7 @@ ConfigurationHandle_1_0 MetricsLibrary::addConfiguration(zet_metric_group_handle
configurations[handle] = libraryHandle;
}
UNRECOVERABLE_IF(!libraryHandle.IsValid());
DEBUG_BREAK_IF(!libraryHandle.IsValid());
return libraryHandle;
}
@@ -359,7 +363,7 @@ bool MetricQueryPoolImp::create() {
return createMetricQueryPool();
default:
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return false;
}
}
@@ -369,14 +373,14 @@ bool MetricQueryPoolImp::destroy() {
switch (description.flags) {
case ZET_METRIC_QUERY_POOL_FLAG_PERFORMANCE:
UNRECOVERABLE_IF(!(pAllocation && query.IsValid()));
DEBUG_BREAK_IF(!(pAllocation && query.IsValid()));
metricContext.getDevice().getDriverHandle()->getMemoryManager()->freeGraphicsMemory(pAllocation);
result = metricsLibrary.destroyMetricQuery(query);
delete this;
break;
default:
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
break;
}
@@ -436,7 +440,7 @@ ze_result_t MetricQueryImp::appendBegin(CommandList &commandList) {
return writeMetricQuery(commandList, nullptr, true);
default:
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
}
}
@@ -448,7 +452,7 @@ ze_result_t MetricQueryImp::appendEnd(CommandList &commandList,
return writeMetricQuery(commandList, hCompletionEvent, false);
default:
UNRECOVERABLE_IF(true);
DEBUG_BREAK_IF(true);
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
}
}
@@ -486,7 +490,7 @@ ze_result_t MetricQueryImp::writeMetricQuery(CommandList &commandList,
commandBuffer.QueryHwCounters.Slot = slot;
commandBuffer.Allocation.GpuAddress = pool.pAllocation->getGpuAddress();
commandBuffer.Allocation.CpuAddress = pool.pAllocation->getUnderlyingBuffer();
commandBuffer.Type = metricContext.isCcsUsed()
commandBuffer.Type = metricContext.isComputeUsed()
? GpuCommandBufferType::Compute
: GpuCommandBufferType::Render;
@@ -510,7 +514,7 @@ ze_result_t MetricQuery::appendMemoryBarrier(CommandList &commandList) {
CommandBufferData_1_0 commandBuffer = {};
commandBuffer.CommandsType = ObjectType::OverrideFlushCaches;
commandBuffer.Override.Enable = true;
commandBuffer.Type = metricContext.isCcsUsed()
commandBuffer.Type = metricContext.isComputeUsed()
? GpuCommandBufferType::Compute
: GpuCommandBufferType::Render;
@@ -529,7 +533,7 @@ ze_result_t MetricQuery::appendTracerMarker(CommandList &commandList,
CommandBufferData_1_0 commandBuffer = {};
commandBuffer.CommandsType = ObjectType::MarkerStreamUser;
commandBuffer.MarkerStreamUser.Value = value;
commandBuffer.Type = metricContext.isCcsUsed()
commandBuffer.Type = metricContext.isComputeUsed()
? GpuCommandBufferType::Compute
: GpuCommandBufferType::Render;

View File

@@ -15,7 +15,7 @@ namespace L0 {
ze_result_t MetricTracerImp::readData(uint32_t maxReportCount, size_t *pRawDataSize,
uint8_t *pRawData) {
UNRECOVERABLE_IF(rawReportSize == 0);
DEBUG_BREAK_IF(rawReportSize == 0);
auto metricGroup = MetricGroup::fromHandle(hMetricGroup);
@@ -129,7 +129,7 @@ Event::State MetricTracerImp::getNotificationState() {
}
uint32_t MetricTracerImp::getRequiredBufferSize(const uint32_t maxReportCount) const {
UNRECOVERABLE_IF(rawReportSize == 0);
DEBUG_BREAK_IF(rawReportSize == 0);
uint32_t maxOaBufferReportCount = oaBufferSize / rawReportSize;
// Trim to OA buffer size if needed.

View File

@@ -49,7 +49,7 @@ bool MetricsLibrary::activateConfiguration(const ConfigurationHandle_1_0 configu
const bool result = validMetricsLibrary && validConfiguration &&
(api.ConfigurationActivate(configurationHandle, &activateData) == StatusCode::Success);
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}
@@ -60,7 +60,7 @@ bool MetricsLibrary::deactivateConfiguration(const ConfigurationHandle_1_0 confi
const bool result = validMetricsLibrary && validConfiguration &&
(api.ConfigurationDeactivate(configurationHandle) == StatusCode::Success);
UNRECOVERABLE_IF(!result);
DEBUG_BREAK_IF(!result);
return result;
}