From fb6df89009f9bb10ff43b21310949d6832b6ed60 Mon Sep 17 00:00:00 2001 From: Katarzyna Cencelewska Date: Mon, 31 Aug 2020 09:37:36 +0200 Subject: [PATCH] Add stepping to initialize AubManager Change-Id: I24a5c623646b196fa8a49ab5d7bbca7f59e10330 Signed-off-by: Katarzyna Cencelewska --- opencl/source/aub/aub_center.cpp | 4 ++-- opencl/source/aub/aub_stream_interface.cpp | 4 ++-- opencl/source/aub_mem_dump/aub_stream_stubs.cpp | 2 +- opencl/test/unit_test/aub/aub_center_tests.cpp | 3 ++- .../unit_test/aub_stream_mocks/aub_stream_interface_mock.cpp | 4 ++-- opencl/test/unit_test/mocks/mock_aub_manager.h | 4 +++- third_party/aub_stream/headers/aub_manager.h | 2 +- 7 files changed, 13 insertions(+), 10 deletions(-) diff --git a/opencl/source/aub/aub_center.cpp b/opencl/source/aub/aub_center.cpp index c8a3fdb625..a341f40045 100644 --- a/opencl/source/aub/aub_center.cpp +++ b/opencl/source/aub/aub_center.cpp @@ -17,7 +17,7 @@ #include "third_party/aub_stream/headers/aubstream.h" namespace NEO { -extern aub_stream::AubManager *createAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace); +extern aub_stream::AubManager *createAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, uint32_t stepping, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace); AubCenter::AubCenter(const HardwareInfo *pHwInfo, bool localMemoryEnabled, const std::string &aubFileName, CommandStreamReceiverType csrType) { if (DebugManager.flags.UseAubStream.get()) { @@ -37,7 +37,7 @@ AubCenter::AubCenter(const HardwareInfo *pHwInfo, bool localMemoryEnabled, const AubHelper::setTbxConfiguration(); - aubManager.reset(createAubManager(pHwInfo->platform.eProductFamily, devicesCount, memoryBankSize, localMemoryEnabled, aubStreamMode, pHwInfo->capabilityTable.gpuAddressSpace)); + aubManager.reset(createAubManager(pHwInfo->platform.eProductFamily, devicesCount, memoryBankSize, pHwInfo->platform.usRevId, localMemoryEnabled, aubStreamMode, pHwInfo->capabilityTable.gpuAddressSpace)); } addressMapper = std::make_unique(); streamProvider = std::make_unique(); diff --git a/opencl/source/aub/aub_stream_interface.cpp b/opencl/source/aub/aub_stream_interface.cpp index 760518aee2..ed8c7258cf 100644 --- a/opencl/source/aub/aub_stream_interface.cpp +++ b/opencl/source/aub/aub_stream_interface.cpp @@ -8,7 +8,7 @@ #include "opencl/source/aub/aub_center.h" using namespace aub_stream; namespace NEO { -AubManager *createAubManager(uint32_t gfxFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace) { - return AubManager::create(gfxFamily, devicesCount, memoryBankSize, localMemorySupported, streamMode, gpuAddressSpace); +AubManager *createAubManager(uint32_t gfxFamily, uint32_t devicesCount, uint64_t memoryBankSize, uint32_t stepping, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace) { + return AubManager::create(gfxFamily, devicesCount, memoryBankSize, stepping, localMemorySupported, streamMode, gpuAddressSpace); } } // namespace NEO diff --git a/opencl/source/aub_mem_dump/aub_stream_stubs.cpp b/opencl/source/aub_mem_dump/aub_stream_stubs.cpp index f1ab7870ef..df0b9df659 100644 --- a/opencl/source/aub_mem_dump/aub_stream_stubs.cpp +++ b/opencl/source/aub_mem_dump/aub_stream_stubs.cpp @@ -16,7 +16,7 @@ bool tbxFrontdoorMode = false; namespace aub_stream { -AubManager *AubManager::create(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSizeInGB, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace) { +AubManager *AubManager::create(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSizeInGB, uint32_t stepping, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace) { return nullptr; } diff --git a/opencl/test/unit_test/aub/aub_center_tests.cpp b/opencl/test/unit_test/aub/aub_center_tests.cpp index 9c8530a76f..989cbaa6a5 100644 --- a/opencl/test/unit_test/aub/aub_center_tests.cpp +++ b/opencl/test/unit_test/aub/aub_center_tests.cpp @@ -31,13 +31,14 @@ TEST(AubCenter, GivenUseAubStreamDebugVariableSetWhenAubCenterIsCreatedThenCreat DebugManagerStateRestore restorer; DebugManager.flags.UseAubStream.set(false); - MockAubManager *mockAubManager = new MockAubManager(defaultHwInfo->platform.eProductFamily, 4, 8 * MB, true, aub_stream::mode::aubFile, defaultHwInfo->capabilityTable.gpuAddressSpace); + MockAubManager *mockAubManager = new MockAubManager(defaultHwInfo->platform.eProductFamily, 4, 8 * MB, defaultHwInfo->platform.usRevId, true, aub_stream::mode::aubFile, defaultHwInfo->capabilityTable.gpuAddressSpace); MockAubCenter mockAubCenter(defaultHwInfo.get(), false, "", CommandStreamReceiverType::CSR_AUB); mockAubCenter.aubManager = std::unique_ptr(mockAubManager); EXPECT_EQ(defaultHwInfo->platform.eProductFamily, mockAubManager->mockAubManagerParams.productFamily); EXPECT_EQ(4, mockAubManager->mockAubManagerParams.devicesCount); EXPECT_EQ(8 * MB, mockAubManager->mockAubManagerParams.memoryBankSize); + EXPECT_EQ(defaultHwInfo->platform.usRevId, mockAubManager->mockAubManagerParams.stepping); EXPECT_EQ(true, mockAubManager->mockAubManagerParams.localMemorySupported); EXPECT_EQ(aub_stream::mode::aubFile, mockAubManager->mockAubManagerParams.streamMode); EXPECT_EQ(defaultHwInfo->capabilityTable.gpuAddressSpace, mockAubManager->mockAubManagerParams.gpuAddressSpace); diff --git a/opencl/test/unit_test/aub_stream_mocks/aub_stream_interface_mock.cpp b/opencl/test/unit_test/aub_stream_mocks/aub_stream_interface_mock.cpp index ac4430bd1a..b2798b21b2 100644 --- a/opencl/test/unit_test/aub_stream_mocks/aub_stream_interface_mock.cpp +++ b/opencl/test/unit_test/aub_stream_mocks/aub_stream_interface_mock.cpp @@ -8,7 +8,7 @@ #include "opencl/test/unit_test/mocks/mock_aub_manager.h" namespace NEO { -aub_stream::AubManager *createAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace) { - return new MockAubManager(productFamily, devicesCount, memoryBankSize, localMemorySupported, streamMode, gpuAddressSpace); +aub_stream::AubManager *createAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, uint32_t stepping, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace) { + return new MockAubManager(productFamily, devicesCount, memoryBankSize, stepping, localMemorySupported, streamMode, gpuAddressSpace); } } // namespace NEO diff --git a/opencl/test/unit_test/mocks/mock_aub_manager.h b/opencl/test/unit_test/mocks/mock_aub_manager.h index 2cfd9cfd21..54471cb9d9 100644 --- a/opencl/test/unit_test/mocks/mock_aub_manager.h +++ b/opencl/test/unit_test/mocks/mock_aub_manager.h @@ -55,10 +55,11 @@ class MockAubManager : public aub_stream::AubManager { public: MockAubManager(){}; - MockAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace) { + MockAubManager(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, uint32_t stepping, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace) { mockAubManagerParams.productFamily = productFamily; mockAubManagerParams.devicesCount = devicesCount; mockAubManagerParams.memoryBankSize = memoryBankSize; + mockAubManagerParams.stepping = stepping; mockAubManagerParams.localMemorySupported = localMemorySupported; mockAubManagerParams.streamMode = streamMode; mockAubManagerParams.gpuAddressSpace = gpuAddressSpace; @@ -135,6 +136,7 @@ class MockAubManager : public aub_stream::AubManager { uint32_t productFamily = 0; int32_t devicesCount = 0; uint64_t memoryBankSize = 0; + uint32_t stepping = 0; bool localMemorySupported = false; uint32_t streamMode = 0xFFFFFFFF; uint64_t gpuAddressSpace = 0xFFFFFFFFFFFF; diff --git a/third_party/aub_stream/headers/aub_manager.h b/third_party/aub_stream/headers/aub_manager.h index f10d3774d1..603d68f583 100644 --- a/third_party/aub_stream/headers/aub_manager.h +++ b/third_party/aub_stream/headers/aub_manager.h @@ -35,7 +35,7 @@ class AubManager { virtual void writePhysicalMemoryPages(const void *memory, std::vector &pages, size_t size, int hint) = 0; virtual void freeMemory(uint64_t gfxAddress, size_t size) = 0; - static AubManager *create(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, + static AubManager *create(uint32_t productFamily, uint32_t devicesCount, uint64_t memoryBankSize, uint32_t stepping, bool localMemorySupported, uint32_t streamMode, uint64_t gpuAddressSpace); };