Skip to content

Commit 1e2a57d

Browse files
Aleksei KeiselCompute-Runtime-Automation
authored andcommitted
Update MDAPI headers
Resolves: LOCI-2692 Signed-off-by: Aleksei Keisel [email protected]
1 parent 378157d commit 1e2a57d

File tree

6 files changed

+142
-38
lines changed

6 files changed

+142
-38
lines changed

level_zero/tools/source/metrics/metric.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
#include "level_zero/core/source/event/event.h"
1010
#include <level_zero/zet_api.h>
1111

12+
#include "metrics_discovery_api.h"
13+
1214
#include <vector>
1315

1416
struct _zet_metric_group_handle_t {};
@@ -17,11 +19,6 @@ struct _zet_metric_streamer_handle_t {};
1719
struct _zet_metric_query_pool_handle_t {};
1820
struct _zet_metric_query_handle_t {};
1921

20-
namespace MetricsDiscovery {
21-
class IMetricSet_1_5;
22-
class IConcurrentGroup_1_5;
23-
} // namespace MetricsDiscovery
24-
2522
namespace L0 {
2623
struct MetricsLibrary;
2724
struct CommandList;

level_zero/tools/source/metrics/metric_enumeration_imp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ ze_result_t MetricEnumeration::openMetricsDiscovery() {
111111
pMetricsDevice = nullptr;
112112

113113
// Open adapter group.
114-
openAdapterGroup(&pAdapterGroup);
114+
openAdapterGroup((MetricsDiscovery::IAdapterGroupLatest **)&pAdapterGroup);
115115
if (pAdapterGroup == nullptr) {
116116
NEO::printDebugString(NEO::DebugManager.flags.PrintDebugMessages.get(), stderr, "unable to open metrics adapter groups %s\n", " ");
117117
cleanupMetricsDiscovery();

level_zero/tools/source/metrics/metric_enumeration_imp.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111

1212
#include "level_zero/tools/source/metrics/metric.h"
1313

14-
#include "metrics_discovery_api.h"
15-
1614
#include <vector>
1715

1816
namespace L0 {

level_zero/tools/test/unit_tests/sources/metrics/mock_metric_enumeration.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,20 @@ Mock<MetricEnumeration>::~Mock() {
1818

1919
MockMetricsDiscoveryApi *Mock<MetricEnumeration>::g_mockApi = nullptr;
2020

21-
TCompletionCode MockMetricsDiscoveryApi::OpenAdapterGroup(IAdapterGroup_1_9 **group) {
22-
return Mock<MetricEnumeration>::g_mockApi->MockOpenAdapterGroup(group);
21+
TCompletionCode MockMetricsDiscoveryApi::OpenAdapterGroup(IAdapterGroupLatest **group) {
22+
return Mock<MetricEnumeration>::g_mockApi->MockOpenAdapterGroup((IAdapterGroup_1_9 **)group);
2323
}
2424

25-
TCompletionCode MockMetricsDiscoveryApi::OpenMetricsDeviceFromFile(const char *fileName, void *openParams, IMetricsDevice_1_5 **device) {
26-
return Mock<MetricEnumeration>::g_mockApi->MockOpenMetricsDeviceFromFile(fileName, openParams, device);
25+
TCompletionCode MockMetricsDiscoveryApi::OpenMetricsDeviceFromFile(const char *fileName, void *openParams, IMetricsDeviceLatest **device) {
26+
return Mock<MetricEnumeration>::g_mockApi->MockOpenMetricsDeviceFromFile(fileName, openParams, (IMetricsDevice_1_5 **)device);
2727
}
2828

29-
TCompletionCode MockMetricsDiscoveryApi::CloseMetricsDevice(IMetricsDevice_1_5 *device) {
30-
return Mock<MetricEnumeration>::g_mockApi->MockCloseMetricsDevice(device);
29+
TCompletionCode MockMetricsDiscoveryApi::CloseMetricsDevice(IMetricsDeviceLatest *device) {
30+
return Mock<MetricEnumeration>::g_mockApi->MockCloseMetricsDevice((IMetricsDevice_1_5 *)device);
3131
}
3232

33-
TCompletionCode MockMetricsDiscoveryApi::SaveMetricsDeviceToFile(const char *fileName, void *saveParams, IMetricsDevice_1_5 *device) {
34-
return Mock<MetricEnumeration>::g_mockApi->MockSaveMetricsDeviceToFile(fileName, saveParams, device);
33+
TCompletionCode MockMetricsDiscoveryApi::SaveMetricsDeviceToFile(const char *fileName, void *saveParams, IMetricsDeviceLatest *device) {
34+
return Mock<MetricEnumeration>::g_mockApi->MockSaveMetricsDeviceToFile(fileName, saveParams, (IMetricsDevice_1_5 *)device);
3535
}
3636

3737
void Mock<MetricEnumeration>::setMockedApi(MockMetricsDiscoveryApi *mockedApi) {

level_zero/tools/test/unit_tests/sources/metrics/mock_metric_enumeration.h

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@ using MetricsDiscovery::IAdapter_1_9;
3030
using MetricsDiscovery::IAdapterGroup_1_6;
3131
using MetricsDiscovery::IAdapterGroup_1_8;
3232
using MetricsDiscovery::IAdapterGroup_1_9;
33+
using MetricsDiscovery::IAdapterGroupLatest;
3334
using MetricsDiscovery::IConcurrentGroup_1_5;
3435
using MetricsDiscovery::IInformation_1_0;
3536
using MetricsDiscovery::IMetric_1_0;
3637
using MetricsDiscovery::IMetricsDevice_1_5;
38+
using MetricsDiscovery::IMetricsDeviceLatest;
3739
using MetricsDiscovery::IMetricSet_1_0;
3840
using MetricsDiscovery::IMetricSet_1_5;
3941
using MetricsDiscovery::IOverride_1_2;
@@ -55,16 +57,16 @@ using MetricsDiscovery::TTypedValue_1_0;
5557
struct MockMetricsDiscoveryApi {
5658

5759
// Original api functions.
58-
static TCompletionCode MD_STDCALL OpenMetricsDeviceFromFile(const char *fileName, void *openParams, IMetricsDevice_1_5 **device);
59-
static TCompletionCode MD_STDCALL CloseMetricsDevice(IMetricsDevice_1_5 *device);
60-
static TCompletionCode MD_STDCALL SaveMetricsDeviceToFile(const char *fileName, void *saveParams, IMetricsDevice_1_5 *device);
61-
static TCompletionCode MD_STDCALL OpenAdapterGroup(IAdapterGroup_1_9 **adapterGroup);
60+
static TCompletionCode MD_STDCALL OpenMetricsDeviceFromFile(const char *fileName, void *openParams, IMetricsDeviceLatest **device);
61+
static TCompletionCode MD_STDCALL CloseMetricsDevice(IMetricsDeviceLatest *device);
62+
static TCompletionCode MD_STDCALL SaveMetricsDeviceToFile(const char *fileName, void *saveParams, IMetricsDeviceLatest *device);
63+
static TCompletionCode MD_STDCALL OpenAdapterGroup(IAdapterGroupLatest **adapterGroup);
6264

6365
// Mocked api functions.
6466
MOCK_METHOD(TCompletionCode, MockOpenMetricsDeviceFromFile, (const char *, void *, IMetricsDevice_1_5 **));
6567
MOCK_METHOD(TCompletionCode, MockCloseMetricsDevice, (IMetricsDevice_1_5 *));
6668
MOCK_METHOD(TCompletionCode, MockSaveMetricsDeviceToFile, (const char *, void *, IMetricsDevice_1_5 *));
67-
MOCK_METHOD(TCompletionCode, MockOpenAdapterGroup, (IAdapterGroup_1_9 * *adapterGroup));
69+
MOCK_METHOD(TCompletionCode, MockOpenAdapterGroup, (IAdapterGroup_1_9 **));
6870
};
6971

7072
template <>

third_party/metrics_discovery/metrics_discovery_api.h

Lines changed: 124 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//////////////////////////////////////////////////////////////////////////////
22
//
3-
// Copyright © 2019-2020, Intel Corporation
3+
// Copyright © 2019-2020, Intel Corporation
44
//
55
// Permission is hereby granted, free of charge, to any person obtaining a
66
// copy of this software and associated documentation files (the "Software"),
@@ -54,7 +54,7 @@
5454
//////////////////////////////////////////////////////////////////////////////////
5555
// API build number:
5656
//////////////////////////////////////////////////////////////////////////////////
57-
#define MD_API_BUILD_NUMBER_CURRENT 133
57+
#define MD_API_BUILD_NUMBER_CURRENT 139
5858

5959
namespace MetricsDiscovery
6060
{
@@ -74,16 +74,17 @@ namespace MetricsDiscovery
7474
typedef enum EMD_API_MINOR_VERSION
7575
{
7676
MD_API_MINOR_NUMBER_0 = 0,
77-
MD_API_MINOR_NUMBER_1 = 1, // CalculationAPI
78-
MD_API_MINOR_NUMBER_2 = 2, // OverridesAPI
79-
MD_API_MINOR_NUMBER_3 = 3, // BatchBuffer Sampling (aka DMA Sampling)
80-
MD_API_MINOR_NUMBER_4 = 4, // GT dependent MetricSets
81-
MD_API_MINOR_NUMBER_5 = 5, // MaxValue calculation for CalculationAPI
82-
MD_API_MINOR_NUMBER_6 = 6, // Multi adapter support
83-
MD_API_MINOR_NUMBER_7 = 7,
84-
MD_API_MINOR_NUMBER_8 = 8, // TAdapterParams update
85-
MD_API_MINOR_NUMBER_9 = 9, // Sub device support.
86-
MD_API_MINOR_NUMBER_CURRENT = MD_API_MINOR_NUMBER_9,
77+
MD_API_MINOR_NUMBER_1 = 1, // CalculationAPI
78+
MD_API_MINOR_NUMBER_2 = 2, // OverridesAPI
79+
MD_API_MINOR_NUMBER_3 = 3, // BatchBuffer Sampling (aka DMA Sampling)
80+
MD_API_MINOR_NUMBER_4 = 4, // GT dependent MetricSets
81+
MD_API_MINOR_NUMBER_5 = 5, // MaxValue calculation for CalculationAPI
82+
MD_API_MINOR_NUMBER_6 = 6, // Multi adapter support
83+
MD_API_MINOR_NUMBER_7 = 7, // Compile time equations calculation approach
84+
MD_API_MINOR_NUMBER_8 = 8, // TAdapterParams update
85+
MD_API_MINOR_NUMBER_9 = 9, // Sub device support.
86+
MD_API_MINOR_NUMBER_10 = 10, // GetGpuCpuTimestamps API function extended by a correlation indicator param
87+
MD_API_MINOR_NUMBER_CURRENT = MD_API_MINOR_NUMBER_10,
8788
MD_API_MINOR_NUMBER_CEIL = 0xFFFFFFFF
8889
} MD_API_MINOR_VERSION;
8990

@@ -1225,6 +1226,25 @@ namespace MetricsDiscovery
12251226
virtual IConcurrentGroup_1_5* GetConcurrentGroup( uint32_t index );
12261227
};
12271228

1229+
///////////////////////////////////////////////////////////////////////////////
1230+
//
1231+
// Class:
1232+
// IMetricsDevice_1_10
1233+
//
1234+
// Description:
1235+
// Updated 1.5 version to use with 1.10 interface version.
1236+
//
1237+
// Updates:
1238+
// - GetGpuCpuTimestamps: Update to 1.10 interface
1239+
//
1240+
///////////////////////////////////////////////////////////////////////////////
1241+
class IMetricsDevice_1_10 : public IMetricsDevice_1_5
1242+
{
1243+
public:
1244+
using IMetricsDevice_1_0::GetGpuCpuTimestamps; // To avoid hiding by 1.10 interface function
1245+
virtual TCompletionCode GetGpuCpuTimestamps( uint64_t* gpuTimestampNs, uint64_t* cpuTimestampNs, uint32_t* cpuId, uint64_t* correlationIndicatorNs );
1246+
};
1247+
12281248
///////////////////////////////////////////////////////////////////////////////
12291249
//
12301250
// Class:
@@ -1298,6 +1318,35 @@ namespace MetricsDiscovery
12981318
virtual TCompletionCode OpenMetricsSubDeviceFromFile( const uint32_t subDeviceIndex, const char* fileName, void* openParams, IMetricsDevice_1_5** metricsDevice );
12991319
};
13001320

1321+
///////////////////////////////////////////////////////////////////////////////
1322+
//
1323+
// Class:
1324+
// IAdapter_1_10
1325+
//
1326+
// Description:
1327+
// Abstract interface for GPU adapter.
1328+
//
1329+
// Updates:
1330+
// - OpenMetricsDevice: Update to 1.10 interface
1331+
// - OpenMetricsDeviceFromFile: Update to 1.10 interface
1332+
// - OpenMetricsSubDevice: Update to 1.10 interface
1333+
// - OpenMetricsSubDeviceFromFile: Update to 1.10 interface
1334+
//
1335+
///////////////////////////////////////////////////////////////////////////////
1336+
class IAdapter_1_10 : public IAdapter_1_9
1337+
{
1338+
public:
1339+
using IAdapter_1_6::OpenMetricsDevice;
1340+
using IAdapter_1_6::OpenMetricsDeviceFromFile;
1341+
using IAdapter_1_9::OpenMetricsSubDevice;
1342+
using IAdapter_1_9::OpenMetricsSubDeviceFromFile;
1343+
1344+
virtual TCompletionCode OpenMetricsDevice( IMetricsDevice_1_10** metricsDevice );
1345+
virtual TCompletionCode OpenMetricsDeviceFromFile( const char* fileName, void* openParams, IMetricsDevice_1_10** metricsDevice );
1346+
virtual TCompletionCode OpenMetricsSubDevice( const uint32_t subDeviceIndex, IMetricsDevice_1_10** metricsDevice );
1347+
virtual TCompletionCode OpenMetricsSubDeviceFromFile( const uint32_t subDeviceIndex, const char* fileName, void* openParams, IMetricsDevice_1_10** metricsDevice );
1348+
};
1349+
13011350
///////////////////////////////////////////////////////////////////////////////
13021351
//
13031352
// Class:
@@ -1357,19 +1406,77 @@ namespace MetricsDiscovery
13571406
virtual IAdapter_1_9* GetAdapter( uint32_t index );
13581407
};
13591408

1409+
///////////////////////////////////////////////////////////////////////////////
1410+
//
1411+
// Class:
1412+
// IAdapterGroup_1_10
1413+
//
1414+
// Description:
1415+
// Abstract interface for the GPU adapters root object.
1416+
//
1417+
// Updates:
1418+
// - GetAdapter: Update to 1.10 interface
1419+
//
1420+
///////////////////////////////////////////////////////////////////////////////
1421+
class IAdapterGroup_1_10 : public IAdapterGroup_1_9
1422+
{
1423+
public:
1424+
virtual IAdapter_1_10* GetAdapter( uint32_t index );
1425+
};
1426+
1427+
//////////////////////////////////////////////////////////////////////////////////
1428+
// Latest interfaces and typedef structs versions:
1429+
//////////////////////////////////////////////////////////////////////////////////
1430+
using IAdapterGroupLatest = IAdapterGroup_1_10;
1431+
using IAdapterLatest = IAdapter_1_10;
1432+
using IConcurrentGroupLatest = IConcurrentGroup_1_5;
1433+
using IEquationLatest = IEquation_1_0;
1434+
using IInformationLatest = IInformation_1_0;
1435+
using IMetricLatest = IMetric_1_0;
1436+
using IMetricSetLatest = IMetricSet_1_5;
1437+
using IMetricsDeviceLatest = IMetricsDevice_1_10;
1438+
using IOverrideLatest = IOverride_1_2;
1439+
using TAdapterGroupParamsLatest = TAdapterGroupParams_1_6;
1440+
using TAdapterIdLatest = TAdapterId_1_6;
1441+
using TAdapterIdLuidLatest = TAdapterIdLuid_1_6;
1442+
using TAdapterIdMajorMinorLatest = TAdapterIdMajorMinor_1_6;
1443+
using TAdapterParamsLatest = TAdapterParams_1_9;
1444+
using TApiSpecificIdLatest = TApiSpecificId_1_0;
1445+
using TApiVersionLatest = TApiVersion_1_0;
1446+
using TByteArrayLatest = TByteArray_1_0;
1447+
using TConcurrentGroupParamsLatest = TConcurrentGroupParams_1_0;
1448+
using TDeltaFunctionLatest = TDeltaFunction_1_0;
1449+
using TEngineIdClassInstanceLatest = TEngineIdClassInstance_1_9;
1450+
using TEngineIdLatest = TEngineId_1_9;
1451+
using TEngineParamsLatest = TEngineParams_1_9;
1452+
using TEquationElementLatest = TEquationElement_1_0;
1453+
using TGlobalSymbolLatest = TGlobalSymbol_1_0;
1454+
using TInformationParamsLatest = TInformationParams_1_0;
1455+
using TMetricParamsLatest = TMetricParams_1_0;
1456+
using TMetricSetParamsLatest = TMetricSetParams_1_4;
1457+
using TMetricsDeviceParamsLatest = TMetricsDeviceParams_1_2;
1458+
using TOverrideParamsLatest = TOverrideParams_1_2;
1459+
using TReadParamsLatest = TReadParams_1_0;
1460+
using TSetDriverOverrideParamsLatest = TSetDriverOverrideParams_1_2;
1461+
using TSetFrequencyOverrideParamsLatest = TSetFrequencyOverrideParams_1_2;
1462+
using TSetOverrideParamsLatest = TSetOverrideParams_1_2;
1463+
using TSetQueryOverrideParamsLatest = TSetQueryOverrideParams_1_2;
1464+
using TSubDeviceParamsLatest = TSubDeviceParams_1_9;
1465+
using TTypedValueLatest = TTypedValue_1_0;
1466+
13601467
#ifdef __cplusplus
13611468
extern "C"
13621469
{
13631470
#endif
13641471

13651472
// [Current] Factory functions
1366-
typedef TCompletionCode( MD_STDCALL* OpenAdapterGroup_fn )( IAdapterGroup_1_9** adapterGroup );
1473+
typedef TCompletionCode( MD_STDCALL* OpenAdapterGroup_fn )( IAdapterGroupLatest** adapterGroup );
13671474

13681475
// [Legacy] Factory functions
1369-
typedef TCompletionCode( MD_STDCALL* OpenMetricsDevice_fn )( IMetricsDevice_1_5** metricsDevice );
1370-
typedef TCompletionCode( MD_STDCALL* OpenMetricsDeviceFromFile_fn )( const char* fileName, void* openParams, IMetricsDevice_1_5** metricsDevice );
1371-
typedef TCompletionCode( MD_STDCALL* CloseMetricsDevice_fn )( IMetricsDevice_1_5* metricsDevice );
1372-
typedef TCompletionCode( MD_STDCALL* SaveMetricsDeviceToFile_fn )( const char* fileName, void* saveParams, IMetricsDevice_1_5* metricsDevice );
1476+
typedef TCompletionCode( MD_STDCALL* OpenMetricsDevice_fn )( IMetricsDeviceLatest** metricsDevice );
1477+
typedef TCompletionCode( MD_STDCALL* OpenMetricsDeviceFromFile_fn )( const char* fileName, void* openParams, IMetricsDeviceLatest** metricsDevice );
1478+
typedef TCompletionCode( MD_STDCALL* CloseMetricsDevice_fn )( IMetricsDeviceLatest* metricsDevice );
1479+
typedef TCompletionCode( MD_STDCALL* SaveMetricsDeviceToFile_fn )( const char* fileName, void* saveParams, IMetricsDeviceLatest* metricsDevice );
13731480

13741481
#ifdef __cplusplus
13751482
}

0 commit comments

Comments
 (0)